How khaan25/session-coach works
Session Coach captures Claude Code logs through a CLI, turns them into evidence-checked decision cards, and schedules learner reviews. The graph combines the documented end-to-end workflow with sampled CLI and session-registration code. Pipeline, review, dashboard, and email internals are represented at their listed source paths; their detailed calls were not sampled, so those relationships rely on README statements or are omitted where unsupported.
Main entry points: upload.ts Log uploader · sync.ts Hook sync · cli.ts CLI commands · process.ts Card pipeline
Components 24
Session capture
- CLI commands
packages/cli/src/cli.ts - Hook setup
packages/cli/src/init.ts - Hook sync
packages/cli/src/sync.ts - Log discovery
packages/cli/src/latest.ts - CLI config
packages/cli/src/config.ts
Upload and processing
- Log uploader
packages/cli/src/upload.ts - Redact and gzip
packages/cli/src/push.ts - HTTP transport
packages/cli/src/http.ts - Session registration
apps/web/src/app/api/sessions/route.ts - Log storage
apps/web/src/lib/sessions/upload.ts - Processing endpoint
apps/web/src/app/api/sessions/[id]/process/route.ts - Card pipeline
apps/web/src/lib/pipeline/process.ts - Decision extraction
apps/web/src/lib/pipeline/extract.ts - Evidence checks
apps/web/src/lib/pipeline/evidence.ts
Learning loop
- Session dashboard
apps/web/src/app/(app)/dashboard/dashboard-sample-view.tsx - Answer grading
apps/web/src/app/api/review/answer/route.ts - Review scheduling
apps/web/src/lib/review/schedule.ts
Account platform
- Device login
packages/cli/src/device.ts
Insights and reminders
- Progress views
apps/web/src/lib/progress/progress.ts - Daily reminders
apps/web/src/lib/email/daily-review.ts
Other components
- Claude Code
- Learner
- Email service
- Language model
Connections 24
- Claude Code → Hook setup: enables hooks
README.md - Claude Code → Hook sync: signals session end
README.md - CLI commands → Hook setup: runs setup
packages/cli/src/cli.ts - CLI commands → Log uploader: uploads logs
packages/cli/src/cli.ts - CLI commands → Device login: runs login
packages/cli/src/cli.ts - Hook sync → Log discovery: finds recent logs
packages/cli/src/sync.ts - Hook sync → Log uploader: pushes logs
packages/cli/src/sync.ts - Hook sync → CLI config: loads credentials
packages/cli/src/sync.ts - Log uploader → Redact and gzip: prepares log
packages/cli/src/upload.ts - Log uploader → HTTP transport: sends requests
packages/cli/src/upload.ts - Log uploader → Session registration: registers session
README.md - Log uploader → Log storage: puts compressed log
README.md - Log uploader → Processing endpoint: starts processing
README.md - Session registration → Log storage: signs upload URL
apps/web/src/app/api/sessions/route.ts - Processing endpoint → Card pipeline: starts pipeline
README.md - Card pipeline → Decision extraction: extracts decisions
README.md - Card pipeline → Evidence checks: checks quotes
README.md - Decision extraction → Language model: requests extraction
README.md - Learner → Session dashboard: views sessions
README.md - Learner → Answer grading: submits answer
README.md - Answer grading → Language model: grades answer
README.md - Answer grading → Review scheduling: updates interval
README.md - Learner → Progress views: checks progress
README.md - Daily reminders → Email service: sends reminder
README.md