How neruaka/atlas works
Atlas is a self-hosted personal ML learning platform. Its core learner journey spans course lessons and interactive code, persistent progress, and spaced review; the app also exposes planning, projects, career, and orientation tools. The graph emphasizes those product stages and the shared server/data layer. Source excerpts confirm selected API, auth, review, and runtime connections; unsampled feature wiring is shown only where the README documents the capability, not as invented call chains.
Main entry points: actions/route.ts API guards · server.ts Auth service · progress/route.ts Progress export · lesson-reader.tsx Lesson experience
Components 25
Learning journey
- Lessons and labs
app/(app)/learn/[...id]/page.tsx - Course content
lib/content/loader.ts - Lesson experience
components/lesson/lesson-reader.tsx - Interactive content
components/mdx/index.ts - Code runner UI
components/runtime/lesson-runtime.tsx - Python execution
lib/runtime/pyodide-engine.ts - Browser worker
workers/pyodide.worker.ts
Practice and review
- Progress tracking
lib/progress/lesson-state.ts - Review session
app/(app)/review/page.tsx - Review controls
components/review/review-session.tsx - Spaced repetition
lib/fsrs/session.ts
Planning and career
- Study planning
lib/planning/index.ts - Career and projects
app/(app)/career/page.tsx - Orientation report
lib/orientation/index.ts
Server and data
- Lesson state API
app/api/me/lessons/[id]/route.ts - Review API
app/api/me/review/route.ts - Study heartbeat
app/api/me/activity/route.ts - Authentication API
app/api/auth/[...all]/route.ts - Auth service
lib/auth/server.ts - API guards
lib/actions/route.ts - Application database
lib/db/client.ts - Progress export
app/api/me/exports/progress/route.ts - Export service
lib/exports/index.ts
Learning resources
- Search and reference
app/(app)/search/page.tsx
Other components
- Learner
Connections 28
- Learner → Lessons and labs: opens lessons
- Lessons and labs → Lesson experience: presents lesson
- Lesson experience → Course content: loads content
- Lesson experience → Interactive content: renders activities
- Interactive content → Code runner UI: starts exercises
- Code runner UI → Browser worker: dispatches runs
- Browser worker → Python execution: runs Python
- Lesson state API → API guards: uses guards
- API guards → Auth service: checks session
- API guards → Application database: opens database
- Lesson state API → Progress tracking: reads state
- Learner → Review session: reviews cards
- Review session → Review controls: shows session
- Review controls → Review API: refreshes session
- Review API → API guards: uses guards
- Review API → Spaced repetition: loads session
- Review controls → Spaced repetition: rates cards
- Study heartbeat → API guards: uses guards
- Study heartbeat → Progress tracking: records activity
- Learner → Study planning: plans study
- Learner → Career and projects: explores career
- Learner → Orientation report: checks orientation
- Learner → Search and reference: finds resources
- Authentication API → Auth service: dispatches auth
- Auth service → Application database: uses database
- Progress export → Auth service: checks session
- Progress export → Application database: opens database
- Progress export → Export service: exports progress