Learn How To
Free learning platform — 362+ tutorials, 100+ interactive quizzes, and structured courses across programming and tech skills.
The problem
Tutorials live across hundreds of dev blogs at uneven quality. Learn How To consolidates structured guides, interactive quizzes, and curated courses in one consistent, searchable, free platform — and keeps it fresh with an AI content pipeline.
Quiz coverage by domain
The 109 interactive quizzes spread across learning domains (alongside 362+ tutorials). Tap a domain for its share.
80 total quizzes · Tap a domain for its share
Architecture
- Next.js SSG/SSR with mdx-bundler compiling 362+ posts and 100+ quiz definitions
- Content-driven: posts as MDX with frontmatter, quizzes as JSON classified by domain, technology, and difficulty
- Admin CMS (NextAuth + Octokit) commits posts and quizzes straight to the GitHub repo from web forms
- Markdown chain: remark-gfm + remark-math → rehype-prism + rehype-katex + slugs + autolinked headings
- Fuse.js full-text search plus quiz filtering by domain, stack, difficulty, and type
- AI content pipeline (Python + Google Gemini) runs on a GitHub Actions schedule, generating MDX and auto-committing — tracked to avoid duplicates
- Preact aliased in production for a ~45 KB first load and ~95+ Lighthouse
Highlights
362+ structured tutorials
A continuously growing library indexed by domain, difficulty, and technology — kept fresh by the AI pipeline without manual overhead.
100+ interactive quizzes
An assessment bank spanning 14 domains with filtering by technology, difficulty, and quiz type (theory, code prediction, debugging).
AI content pipeline
A Gemini-backed generator selects topics, drafts MDX, and publishes via GitHub Actions, tracked in an index to avoid duplication.
Admin CMS with GitHub sync
A NextAuth-protected CMS lets contributors publish posts and quizzes that commit directly to the repo via Octokit.
Impact
362+
Tutorials published and maintained
109
Interactive quizzes across 14 domains
11
Structured learning courses
~45 KB
First-load JS (Preact in production)