$ cat ~/work/bhasha.case

Bhasha.
Web app · Shipped
// A Duolingo-style language learning web app—currently focused on Spanish—with lessons, hearts, quests, shop, and an admin CMS.
// Impact at a glance
- - Full curriculum model with units, lessons, and challenges
- - Gamification: quests, shop, leaderboard, and progress persistence
- - Admin CMS for courses and challenge content
// summary
Bhasha is a Next.js learning product with Clerk auth, gamified progression (units, lessons, challenges), leaderboard and shop pages, and a React-Admin style dashboard to manage courses and content.
// problem
I wanted a real consumer app with daily return loops—not a tutorial repo—so I could practice content modeling, auth, and motivation mechanics.
// what I built
I implemented a full learn path: marketing landing, signed-in learn/quests/shop/leaderboard routes, challenge APIs, progress upserts, and admin CRUD for courses, units, lessons, and challenge options.
// core experience
- - Pick up where you left off on /learn with unit banners, lesson buttons, and challenge completion
- - Earn and spend in-app currency through quests and the shop
- - Admins create and edit curriculum without touching the database by hand
// architecture
- - Next.js App Router with (marketing) and (main) route groups
- - Clerk for authentication; API routes for courses, challenges, and progress
- - Drizzle ORM + Postgres for relational lesson data; server actions for progress and subscriptions
// ai involvement
No generative AI layer—this project is about product UX, schema design, and shipping a cohesive learning loop.
// challenges
- - Modeling units, lessons, and challenges so content stays consistent
- - Keeping the learner UI fast and clear on mobile
- - Separating marketing, learner, and admin surfaces without duplicating logic
// outcome
Live demo on Vercel with open-source repo—a complete small-scale learning product, not a marketing mock.
// why this matters
It balances my AI-heavy work with proof I can ship polished, stateful consumer experiences recruiters can click through.
// reflection
Retention comes from tight loops—one more lesson, one quest, one leaderboard check—not from feature sprawl.
// capabilities
// links