Tutorial series
Learn Marathi
A 200-page static Marathi learning site synced from a real Flutter curriculum — engineered so every page earns its place in search and funnels readers to the app.
Case study: Learn Marathi
- Part 1
The problem: 200 Marathi lessons that must each earn their place
Why Learn Marathi exists, the constraints that shaped it, and the sync-to-static architecture they led to — explained for newcomers.
- Part 2
One intent per page: what became a page and what didn't
How search intent and a 15-entry size gate decided every URL — and why 1002 words became zero word-pages.
- Part 3
The dataset engine: validated content that cannot render lies
How typed datasets, resolvers that throw, and a prebuild QA gate keep 200 pages honest.
- Part 4
Pages and funnel: a tour from hub to app without dark patterns
Every route, the components that render it, and the honest CTA ladder that ends at the app.
- Part 5
Scale without duplication: linking, languages, and images at 200 pages
The hard seams: internal linking with no orphans, a Hindi mirror without duplication, and per-page images at scale.
- Part 6
Capstone: rebuild one slice of the 200-page engine yourself
Full-flow recap, glossary, testing layers, stealable principles, and a guided exercise.