aazhi · product flows · draft v0.1 for founder review
Flows: கரை → அலை → முத்து
shore → wave → pearl / free → hooked → hired
The principle
Free first. Lesson 1 opens with no login wall, and every upgrade moment is one we can defend to a student's Amma.
A 19-year-old in Kovilpatti taps a reel on a shared phone with two bars of Jio. Within two taps they should be inside lesson 1: no signup, no OTP, no form. We ask for an account only when it does something for them (saving progress at lesson 3, so it survives a phone swap). We ask for money only at honest moments: they finished a course, they sat a live class, or their resume score told them the truth. The free path is always shown next to the paid one. Every screen is designed for a 6-inch phone on patchy 4G first: light pages, text-first notes, low-data video, progress that survives a dropped connection, and accounts that make it obvious whose phone it is.
கரை first. Then ஆழம்.
- Free first
- No login · lesson 1
- Honest upgrade
- Phone + 4G first
How to read the diagrams
- Step / screen. Grey mono line is the route or screen; quoted italics is the user-facing copy (Tanglish).
- Decision. The main lane carries the happy answer; other answers drop below.
- Entry point, in stamp red: where people arrive from.
- Drop-off risk, dashed stamp red, with the fix we are designing for.
- Goal of the flow, or the hand-off to the next flow.
- Hand note in biro: the design reason for a key step.
Each diagram scrolls sideways inside its own sheet. A plain-text version sits under every diagram.
02 · Sitemap / IA
Where everything lives
ஒரு bus stand. எல்லா route-um இங்கிருந்து.
Flat and shallow on purpose: any lesson is at most two taps from a reel. Course and lesson URLs are stable and shareable, because a WhatsApp forward is our biggest distribution channel. The access tag on each page says what it costs the visitor to see it.
- Open anyone, no account
- Sign-in free account (Google or phone OTP)
- Paid cohort ticket holders
/ Open-
Karai · கரை
/karaiOpen Course detail/c/:courseOpen Lesson player/c/:course/:lessonOpen 1–3Sign-in 4+- Python
/c/f-python - Git & GitHub
/c/f-git - DSA Patterns
/c/f-dsa - PostgreSQL
/c/f-sql - Docker + load testing
/c/f-docker - Prompt Engineering
/c/f-prompt - Resume Review tool
/resume· 3 a day · sign-in to save the report
- Python
-
Muthukuli · முத்துக்குளி
/muthukuliOpen Cohort detail (ticket)/m/:cohortOpen Try one class free/m/:cohort/trySign-in- Muthu 01 · Backend → Offer Letter
/m/p-backend - Muthu 02 · Cloud & DevOps
/m/p-cloud - Muthu 03 · AI Agents & Data
/m/p-ai
- Muthu 01 · Backend → Offer Letter
-
Checkout
/checkout/:cohortSign-in Ticket (confirmation)/ticket/:idPaid- Scholarship form
/scholarship· sign-in - Parent page, Tamil
/amma-appa/:token· open via link, no login - Payment pending / failed
/checkout/:cohort/status
- Scholarship form
-
Dashboard
/meSign-in- Continue (last lesson)
- Streak + freeze
- Weekly challenge
/challenge - My tickets + live class link Paid
- Settings: WhatsApp nudges, profile switch
-
Community
/communityRead openPost: sign-in Job board/jobsListings openReferrals: earned- Town circles (Madurai, Salem, Karur…)
- Doubt threads, Tamil or English
- Challenge threads + PR wall
-
FAQ
/faqOpenSign-in is a bottom sheet, never a page. Nobody should "land" on a login screen.
Flow 1 · கரை
First visit → first lesson, no signup
Reel பாத்தாச்சு. பத்து நிமிஷத்துல first program.
Nandhini, 19, 2nd-year ECE, Kovilpatti. Amma's Redmi, Jio, two bars at the bus stand. Saw a reel: "Python-la un first game, 20 nimisham."
- Entry IG reel · YouTube · WhatsApp forward
- Device Android, in-app browser
- Goal first output in < 10 min
Read F1 as a list
- Entry: taps a link from an Instagram reel (link sticker), a YouTube video (pinned comment) or a WhatsApp class-group forward.
- Lands on the course page
/c/f-pythoninside the in-app browser, not on Home. Copy: "Lesson 1 ippove paaru. Login venaam."- Why: deep-link to the course; every extra tap on 4G loses people.
- Drop-off risk: blank screen for seconds on a slow in-app browser. Fix: under 150 KB first paint, text first, poster image, no autoplay video.
- Decision: is the network strong? Detected automatically. Yes: 480p video. No: low-data mode (240p, or audio plus notes), with a visible data estimate ("≈ 9 MB").
- Why: the data pack is someone's money; show the MB before it's spent.
- Lesson 1 player, 8 minutes: Tamil class, English notes under the video, code runs in the browser. Copy: "Phone-la type pannu. Laptop appuram."
- Drop-off risk: typing code on a phone keyboard. Fix: snippet chips for brackets, colons and quotes; fill-the-blank exercises before full typing.
- First output moment: print("vanakkam") runs. Copy: "Un first program. Semma."
- Why: a first win inside 10 minutes, or we lose them to the next reel.
- Decision: start lesson 2? Yes: continue. Not now: they leave, progress is kept on the device, and we offer "Link-a WhatsApp-la unakke anuppu" (send the link to yourself, no signup).
- Drop-off risk: they return on a sibling's phone and progress is gone. This is the hook for F2: saving means progress follows you.
- Goal: lesson 2 starts, still without login. Hands off to F2 (soft gate at lesson 3).
Flow 2 · கரை → அலை
Lesson 3 soft-gate → save progress → 7-day streak
Free தான். Save பண்ண மட்டும் account.
Same Nandhini, next evening. Lesson 2 done on Amma's phone. Tomorrow she might be on her brother's.
- Entry lesson 2 done, anonymous
- Ask phone OTP or Google
- Goal 7-day streak
Read F2 as a list
- Entry: lesson 2 finished without an account, either straight on from F1, via a self-shared WhatsApp link, or on the same phone the next day.
- Lesson 3 opens. After 60 seconds a bottom sheet asks: "2 lessons mudichitta! Save pannalaama? Phone maarinaalum continue aagum."
- Why: gate at lesson 3, not lesson 1, because they have felt the value. Ask after the lesson starts, never before it.
- Decision: save now? Yes: continue to sign-in. "Ippo venaam": skip is allowed, lesson 3 continues; lesson 4 onwards needs a free account, and that is said up front.
- Decision: phone OTP or Google? Phone OTP is the default. Google one-tap shows the account email large with a "Vera account use pannu" option.
- Why: on a shared phone the signed-in Google account is often a parent's.
- Phone number and OTP, auto-read. Copy: "30 sec-la varalanna WhatsApp-la anuppuvom."
- Drop-off risk: SMS is late, blocked by DND, or the SIM has no balance. Fix: resend at 30 seconds, WhatsApp OTP, voice-call fallback.
- Welcome screen with two fields (name, year; college and town optional). Copy: "Unga per enna? Certificate-la idhu dhaan varum." Device progress merges: lessons 1 and 2 saved.
- Decision: WhatsApp reminders? Unticked by default. Yes: pick a slot. No: in-app streak only; we ask once more after day 7.
- Why: opt-in only, replying STOP works, consent is logged.
- Slot picker matched to their day: the 6:40 morning bus, 7 PM after college, or 9:30 PM after dinner.
- Goal: a 7-day streak, drawn as kolam dots. One lesson or ten minutes of practice counts as a day; one free streak freeze per week. Leads into F5.
- Why: a streak that punishes a power cut is a streak they quit.
- Drop-off risk: the day 3–4 slump, exams, power cuts. Fix: a day-3 nudge with a five-minute lesson; the freeze applies automatically in exam weeks they mark.
Flow 3 · அலை → முத்து
Free → paid: three honest triggers, one seat
காசு கேக்கறதுக்கு முன்னாடி, உண்மை சொல்லு.
Arun, 21, final-year IT, Karur. Finished Karai Python + Git on a shared laptop. Placement season in 4 months. Appa asks "enna aachu?" every Sunday.
- Triggers course done · live trial · resume < 70
- Ask ₹0 seat hold
- Goal a held seat
Read F3 as a list
- Entry, three triggers: T1, they finish a free course; T2, they attend the "Try one class free" live session; T3, their Resume Review score is below 70.
- T2 detail: the live class runs audio-first with slides for low data, and ends with real Q&A, a mentor introduction and a two-minute pitch, with no countdown timer.
- T3 detail: a score of 62 lists the gaps (no Git link, nothing deployed) and points to the free fix first (Karai Git and Docker), with the cohort shown as the guided route.
- Honest upgrade card. Copy: "Karai mudinjichu! Adutha step paid: mentor, mocks, review. Free-la continue pannalaam, adhuvum OK."
- Why: every upgrade card also shows the free next step; pushing paid on a weak score costs trust across the whole town.
- Cohort page styled as a ticket: Muthu 01, ₹14,999 or ₹1,999 a month, batch 16 Nov, 17 seats left (the real count, no fake countdown).
- Drop-off risk: price shock. Fix: show full price and EMI together, with the scholarship link right under them.
- Free versus paid comparison, side by side. Paid adds live Tamil classes, a 1:20 mentor ratio, two scored mock interviews, capstone review and the referral board.
- Why: also say what paid does not add (same notes, same videos). Trust beats conversion.
- Decision: a three-question fit check (year, hours per week, laptop). Fit: continue. Not yet: join the waitlist with a plan ("Python + Git mudichittu vaa"), pinged 10 days before the next batch.
- Drop-off risk: no laptop. Fix: say clearly before payment that weeks 1–6 work on a phone and a laptop is needed from week 7.
- Seat picker: reserve a seat for ₹0, held for 48 hours. Copy: "Seat 11 unakku hold pannirukkom. Veetla pesu."
- Why: money is a family decision; a free hold gives time to talk to parents.
- Drop-off risk: the hold expires quietly. Fix: reminders at 24 hours and 4 hours, plus a ready-made parent-share link.
- Goal: seat held. Hands off to F4 checkout.
Flow 4 · முத்து
Checkout: UPI first, family in the loop
Ticket கையில. வீட்டுல எல்லாருக்கும் தெரியும்.
Arun has 48 hours and a held seat. Appa will pay half, and wants to read about it in Tamil first.
- Pay UPI · EMI · scholarship · parent pays
- Proof a ticket, not a receipt
- Goal paid + week-0 started
Read F4 as a list
- Entry: a held seat from F3, a parent tapping the share link, or an approved scholarship.
- Checkout summary on one screen: Muthu 01, batch 16 Nov, ₹14,999, and the refund rule ("Mudhal 2 class pidikkalanna full refund").
- Why: the refund rule belongs in the summary, not the terms; it is the first thing parents ask.
- Drop-off risk: the total looks big on a phone late at night. Fix: the EMI line and the "ask a parent" option sit next to the total.
- Decision: how to pay. UPI is the default; cards are under "More options".
- Why: UPI is how they pay for everything else.
- EMI: ₹1,999 × 8 through cardless EMI or UPI Autopay. If a lender declines (common with no credit history), offer a three-part Aazhi plan with no lender.
- Scholarship for first-generation graduates: five questions and a 100-word answer in Tamil or English. The seat stays held during review; decision in five days, 50% or 100%.
- "Amma/Appa-ku anuppu": a WhatsApp link to a Tamil page for parents explaining the cohort, with a UPI pay button and a call-back number. A parent can pay from their own phone.
- UPI intent opens GPay, PhonePe or Paytm; desktop shows a QR code.
- Drop-off risk: payment stays pending or the app never returns. Fix: poll status for two minutes, tell them not to pay twice ("Thirumba pay pannaadheenga"), auto-refund within 48 hours if it fails.
- Confirmation as a ticket: GATE 01, ROW 3, SEAT 11, 16 Nov 2026, with "Add to calendar" and "Amma/Appa-ku anuppu" to share it.
- Why: the ticket is proof for the family and something they post on their status.
- Goal: week-0 onboarding checklist (join the batch WhatsApp group, laptop setup, intro call Saturday 7 PM).
Sketch · parent page /amma-appa/:token (copy draft)
அம்மா, அப்பா: இந்த வகுப்பு என்ன?
உங்கள் பிள்ளை சேர நினைக்கும் வகுப்பு: Muthu 01, Backend. ஒன்பது மாதம்.
வகுப்புகள் தமிழில், மாலை 7 மணிக்கு. கல்லூரி நேரத்தோடு மோதாது.
மொத்த கட்டணம் ₹14,999. மாதம் ₹1,999 ஆகவும் கட்டலாம்.
முதல் 2 வகுப்புகள் பிடிக்கவில்லை என்றால், முழு பணமும் திருப்பித் தருவோம்.
Parents decide, or pay. Talk to them in Tamil, with numbers, not hype. No login on this page.
Sketch · confirmation ticket /ticket/:id
Muthukuli · batch 07
Muthu 01 · Backend
Starts 16 Nov 2026 · 7 PM IST
Status-share size crop (9:16) generated automatically. Name optional on the shared image.
Flow 5 · ஆழம்
Returning learner: continue → challenge → community → jobs
தினமும் கொஞ்சம். வாரம் ஒரு challenge. ஒரு நாள் offer.
Priya, 22, Theni, 3 weeks in. Opens Aazhi from the 7 PM WhatsApp nudge, between tuition and dinner.
- Entry WhatsApp nudge · home-screen icon
- Loop weekly
- Goal referral-ready → offer
Read F5 as a list
- Entry: a WhatsApp reminder that deep-links to the exact lesson (skipping the dashboard), the home-screen icon, or typing the address.
- Dashboard with one large Continue button: "Lesson 7: SQL JOINs · 6 min baaki", and a header chip "Idhu neengalaa, Priya? Switch".
- Why: the dashboard is a launcher, not a report; the "is this you?" chip exists because phones are shared.
- Drop-off risk: the wrong person is signed in on a shared phone. Fix: profile switch in the header, progress kept per profile.
- Lesson player resumes at the exact second; notes are cached for offline reading.
- Weekly challenge, released on Monday, in three levels (Karai, Alai, Aazham) with a town-versus-town leaderboard.
- Why: local pride beats being ranked 48,201st in India.
- Decision: stuck? Yes: ask in the community. No: submit, the solution unlocks, and they share it in the challenge thread (which is also in the community).
- Community: town circles and doubt threads. Copy: "Doubt kelu, bayam venaam. Tamil-la ketta podhum."
- Drop-off risk: a doubt gets no reply and the learner goes quiet. Fix: answer within 12 hours through a TA rota, and peers who answer earn the lighthouse (கலங்கரை விளக்கம்) badge.
- Job board with a referral checklist: capstone, four challenges, one merged pull request. Not yet eligible: listings stay open and the checklist shows what is left ("Innum 2 challenges baaki").
- Why: show the bar honestly as a checklist, not a vague "premium only".
- Goal: interview, offer, and a postcard on the Proof wall ("Theni → Chennai").
04 · Funnel metrics + key screens
What we measure Placeholder targets
எண்ணிக்கை பொய் சொல்லாது. ஆனா target இன்னும் guess தான்.
Targets are first guesses to argue with, not commitments. Each stage names the analytics event engineering should fire, so the dashboard exists from day one. No personal data goes in event properties; the source (src=ig) is the only campaign tag.
| Flow | Stage | Metric | Target | Event |
|---|---|---|---|---|
| F1 | Course page → lesson 1 | Visitors who press play | 55% | lesson_play {n:1} |
| Lesson 1 → first output | Players whose code runs | 60% | code_run_ok {first} | |
| First output → lesson 2 | Start lesson 2, no login | 45% | lesson_play {n:2} | |
| Speed | Median time to first output | < 10 min | code_run_ok.t | |
| Weight | p75 LCP on 4G, in-app browser | < 2.5 s | web_vitals | |
| F2 | Save sheet → account | Sheet views that sign in | 40% | auth_ok {method} |
| OTP sent → verified | OTP success, all fallbacks | 85% | otp_verified | |
| WhatsApp opt-in | New accounts who opt in | 35% | wa_optin {slot} | |
| Streak | New accounts reaching day 7 | 20% | streak_7 | |
| F3 | Course done → cohort page | Completers who view a cohort | 30% | cohort_view {src} |
| Live trial | Registered who attend | 50% | live_attend | |
| Resume < 70 | Click the free fix first | 40% | resume_fix_click | |
| Cohort page → seat hold | Cohort viewers who hold a seat | 8% | seat_hold | |
| F4 | Seat hold → paid | Holds that convert in 48 h | 45% | payment_ok {method} |
| UPI | First-attempt success | 90% | upi_status | |
| Parent link | Shared links that get opened | 60% | parent_view | |
| Refunds | Refund requests, first 2 classes | < 5% | refund_req | |
| F5 | Weekly active | Signed-in learners active weekly | 35% | wau |
| Challenge | Weekly actives who submit | 20% | challenge_submit | |
| Community | Doubts answered in < 12 h | 90% | doubt_answered | |
| Jobs | Referral-eligible who apply | 50% | job_apply |
Key screens per flow
F1 Key screens
- Course page (deep-link landing)
- Low-data mode toggle + MB counter
- Lesson player with snippet chips
- First-output moment
- "Send to yourself" share sheet
F2 Key screens
- Lesson-3 save sheet (skippable)
- Phone OTP + fallbacks
- Google account check state
- Welcome, two fields
- WhatsApp opt-in + slot picker
- Streak tracker + freeze
F3 Key screens
- Course-complete card
- Live trial: register, room, end
- Resume report, score < 70
- Cohort ticket page
- Free vs paid comparison
- Fit check + waitlist
- Seat hold (48 h)
F4 Key screens
- Checkout summary
- Payment chooser
- UPI pending / failed
- EMI + fallback plan
- Scholarship form + status
- Parent page (Tamil)
- Ticket confirmation
- Week-0 checklist
F5 Key screens
- Dashboard + profile switch
- Player resume
- Weekly challenge + town board
- Community doubt thread
- Job board + referral checklist
- Offer postcard
05 · For the founder
Open questions
முடிவு உங்க கையில. Default எங்க கையில.
Each one blocks a real screen. If there's no answer before the first batch, we ship the default written on the card.
-
Pricing
Are ₹14,999 / ₹11,999 / ₹12,999 right for tier-2 families?
- One price everywhere, or a "home town" price?
- No-cost EMI: do we absorb the lender's cut?
- Is the ₹0 48-hour hold OK, or a ₹499 refundable token?
Default: placeholders as listed, one price, EMI cost absorbed, ₹0 hold.
BLOCKS · F3 cohort page · F4 summary · parent page
-
Mentor capacity
We assumed 1 mentor : 20 learners, 60 seats a batch.
- How many mentors and TAs per batch, really?
- Who answers free learners' doubts in < 12 h?
- How many live trial classes a month can we run?
Default: 3 mentors + 2 TAs per batch; free doubts on a TA rota, 24 h SLA until staffed.
BLOCKS · F3 seat count · F5 doubt SLA
-
Certificate
What does a certificate prove, and to whom?
- Free courses: completion certificate, or none?
- Paid: graded on the capstone, with a verify link / QR?
- Can the name from the welcome form be changed later?
Default: free = completion (verify link); paid = capstone-reviewed; one free name correction.
BLOCKS · F2 welcome copy · F3 comparison
-
Refund policy
The parent page promises a refund. We need the exact rule.
- Full refund after the first 2 live classes?
- Pro-rata after that, or nothing?
- EMI and scholarship seats: same rule?
Default: full refund within the first 2 classes, none after; EMI cancelled at the same point.
BLOCKS · F4 summary · parent page · ticket
-
Scholarship budget
How many first-gen seats per batch, and who decides?
- Split between 50% and 100% waivers?
- Self-declared income, or documents?
Default: 6 seats per batch (10%), self-declared, reviewed by 2 people in 5 days.
BLOCKS · F4 scholarship path
-
Shared phones + WhatsApp
Several learners per phone is the norm, not the edge case.
- Multiple profiles per device: allowed?
- WhatsApp message budget per learner per week?
- Under-18 learners: parent consent for nudges?
Default: up to 3 profiles per device; max 5 nudges a week; nudges 18+ only.
BLOCKS · F2 opt-in · F5 profile switch