You know the answer.
Can you survive the follow‑up?
Praxis teaches each frontend concept in plain language, tests it with quizzes that explain every option, then puts you in front of an AI interviewer that keeps asking “why” until it finds the gap. Every lesson is free to read.

The film opens on a mock interview: asked what a closure is, the candidate answers, and the interviewer asks how it remembers its variables. DevStash presents Praxis. It then walks through the platform: 755 free lessons across 19 tracks; a step-through explainer diagram; a quiz where a wrong answer is explained; concept genealogy tracing React's useState back to closures, lexical environment and scope; the AI tutor giving a hint from the lesson; the AI mock interviewer grading an answer against a rubric and asking a follow-up; and spaced repetition bringing missed concepts back. It ends with the candidate answering the follow-up.
- tracks
- 19
- free lessons
- 755
- quiz questions
- 2,174
- interview questions
- 763
How Praxis works
Seven steps per concept. The first three are open to everyone; the AI and your review queue need a free account.
- 01Free
Learn it
Plain-language theory, then the idea inside real code.
- 02Free
See it
Step-through diagrams for the topics you need to picture.
- 03Free
Test it
Quizzes where every option explains why it's right or wrong.
- 04Free account
Trace it
Concept genealogy: useState → closures → lexical environment → scope.
- 05Free account
Ask it
An AI tutor that gives hints, answering only from the lesson.
- 06Free account
Defend it
An AI interviewer that grades against a rubric and asks the follow-up.
- 07Free account
Keep it
Spaced repetition brings back what you fumbled, before you forget it.
- Try the first three nowBrowse 19 tracks
- All 755 lessons, with real-code examples
- Step-through explainer diagrams
- Quizzes that explain every option
- The interview questions, rubric and likely follow-ups for each lesson
- AI tutor, grounded in the lesson you're on
- AI mock interviewer that cross-questions shallow answers
- Concept genealogy graph
- Dashboard, weak spots and spaced-repetition review
19 tracks
See all tracks →JavaScript Logic
80 lessonsThe reasoning foundations — scope, closures, and thinking in small repeatable steps.
React
80 lessonsHooks, rendering, and state — each traced back to the JavaScript idea underneath it.
Frontend Practices
30 lessonsThe practical, tooling, and systems knowledge interviews test beyond pure language syntax — APIs, architecture, workers, and the infrastructure around the code.
TypeScript
80 lessonsThe type system as a reasoning tool, not a chore — generics, narrowing, inference, and where it echoes ideas JavaScript already had.
UX Fundamentals
30 lessonsThe reasoning behind colour, type, and spacing — the frontend interview questions nobody drills.
Docker
30 lessonsImages, layers, and containers — what's actually happening when you run a build.
AWS
30 lessonsThe handful of services a frontend developer is actually expected to reason about.
Next.js
81 lessonsThe App Router, Server Components, and streaming — the parts that don't map cleanly onto plain React anymore.
AI Fundamentals
30 lessonsTokens, embeddings, context windows, RAG — the vocabulary, and the sane path to actually building with AI instead of just prompting it.
Modern CSS
30 lessonsContainer queries, :has(), subgrid, scroll-driven animations — what shipped recently, what's still shaky, and the @supports fallback for each.
Web Performance & Vitals
30 lessonsLCP, INP, CLS, and the budget mindset behind them — diagnosing why a page feels slow, not just measuring that it is.
Accessibility & ADA Compliance
30 lessonsSemantic HTML, ARIA, keyboard flows, and the legal side of ADA/WCAG — built as a discipline, not a lint-rule afterthought.
System Design for Frontend
30 lessonsThe shortest honest path through system design interviews — scale, caching, and trade-offs, sized for a frontend-focused round.
Frontend ↔ Backend Data Layer
30 lessonsHow API shape, caching, and fetching strategy become actual UI decisions — consuming a data layer, not just calling fetch.
Angular
30 lessonsSignals, dependency injection, and RxJS — the framework's own answer to reactivity, for teams standardized on it.
Git & Version Control
30 lessonsBranches, merges, rebases, and the recovery tools nobody teaches — from the object model underneath every command to opening a clean PR and undoing a mistake without panic.
CI/CD Pipelines
30 lessonsWhat actually happens between a push and a live deploy — pipelines, caching, deployment strategies, rollbacks, and the security/cost tradeoffs nobody explains until a pipeline breaks in production.
DSA Foundations
30 lessonsData structures and algorithms from zero — no computer science degree assumed. Plain language, real-world analogies, and the exact patterns interviewers actually test.
Modern SEO & Digital Marketing
14 lessonsThe implementation layer of SEO and ad platforms most frontend developers never touch — structured data, resource hints, sponsored-link attributes, GTM/Meta Pixel wiring, IndexNow. Not keyword strategy; the actual tags and scripts that ship.
You know the answer. Now survive the follow-up.
Praxis is a DevStash product.