You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Companion to #83 (business model decision of record). #83 says what we are building and for whom. This issue says in what order, and — just as important — what is already done. Date: 2026-08-27 · Horizon: 12 months · Operating mode: solo founder, side project alongside a full-time job
How to read this
Two umbrellas, five phases each. Every phase has a Definition of Done — a single condition that must be true before the next phase starts.
[x] = done and verified in the repo today
[ ] = not done
🔴 = blocks the next phase · 🟠 = needed within the phase · ⚪ = nice to have
Deliberately kept at capability level. Which library implements SSO or rate limiting is not a roadmap decision.
Where we actually stand today
Age
~8 weeks (first commit 2026-07-03)
Hand-written app code
33,403 LOC
Pages
77 across 8 route groups
Data models
111 (~34 have zero app code touching them)
Server-action modules
23
Unit tests
102 cases / 13 files ✅ passing in CI
End-to-end tests
14 cases / 2 specs⚠️ written, not wired into CI
Migrations
4 (schema frozen behind a CI gate)
Open issues
55
Paying customers
0
Revenue collected
₹0
Live payments
No
Legal entity
Not registered
The honest read: the product is roughly 70% of the way to a first B2B sale. The company is roughly 10% of the way there. Almost every remaining blocker is on the business side, not the engineering side — which is the inverse of where the last 8 weeks went.
🛠️ UMBRELLA A — TECH
Phase T0 — Foundation ✅ COMPLETE
This is the part that's genuinely done. It is a lot, and it is good.
Identity & tenancy
Multi-tenant model with distinct tenant types (creator / enterprise / university / hiring partner)
Email + password and social sign-in, email verification, password reset
Terms, privacy and refund policy pages (text is solid; the entity behind them is a placeholder)
Design system and marketing site
CI: schema-freeze gate, schema-coverage audit, typecheck, lint, unit tests, build — with pinned actions and least-privilege permissions
Deploy pipeline: PR previews, dev branch deploys, production branch
Definition of Done: ✅ met. A learner can be enrolled, learn, submit work, be reviewed against a rubric, and receive a verifiable credential — and the money movement is correctly recorded.
Phase T1 — Make it possible to take money 🔴 CURRENT PHASE
Nothing here is optional. Each item independently prevents a first rupee.
🔴 Replace fabricated marketing content — the landing page's mentors, testimonials and statistics are hardcoded arrays. This is a compliance liability the moment a real buyer reads it · 🔴 Real content & brand (replace placeholders) #37
🔴 Real legal and support surface — support and grievance addresses are @example.com; legal entity reads "pending incorporation" · 🔴 Legal & compliance (India-first) #36
Definition of Done: one cohort of real learners from one paying organisation completes, and the buyer receives a report they find credible.
Phase T3 — Make delivery repeatable ⚪
Only justified once there are 3 paying logos. Every item here is automating something currently done by hand — do it when the hand-work hurts, not before.
Verification API for employers — the one genuine venture-scale door; pursue immediately if an employer ever asks unprompted
🅿️ Parked — explicitly not doing
#52#53#59#60#61#62#66 — video DRM, live sessions, live-join fallback, chat, sandbox/judge, vendor decision gate.
Rationale: async B2B delivery (content → assignment → rubric-scored human review → credential) needs none of it. This also retires the largest structural risk in the codebase — a stated differentiator depending entirely on a vendor that was acquired mid-transition, whose signup is paused, and for which we hold no API key.
Un-park trigger: a paying customer asks for live delivery in writing.
💼 UMBRELLA B — BUSINESS
Phase B0 — Research and positioning ✅ COMPLETE
Full market research across Indian K-12/test-prep, global course marketplaces, cohort platforms, and solo-operator economics (~190 searches, 4 independent sweeps)
Competitive teardown of direct comparables
Audited-financial review of every named competitor — established that exactly one (Jaro Education) has positive PAT
Commission and payout economics designed and implemented
Legal policy text drafted (terms, privacy, refunds)
Brand name chosen, domain purchased
Prior business viability review with kill criteria
Definition of Done: ✅ met. We know who the buyer is, what the price floor is, and which channels are arithmetically dead.
Phase B1 — Become a company that can invoice 🔴 CURRENT PHASE
This is the actual critical path. None of it is engineering. All of it is unglamorous.
Legal and financial
🔴 Register the legal entity
🔴 GST registration (18% applies to private training — it is not optional)
🔴 Business bank account
🔴 Payment gateway KYC and live keys
🟠 Real support and grievance contacts, published
🟠 Professional indemnity / basic business insurance check
Commercial paperwork
🔴 B2B pricing sheet — day rate, per-seat rate, engagement packages. Anchor at ₹50,000+ and validate against published market rates on the first three calls.
🔴 Standard services agreement / MSA template
🟠 Data processing addendum template (enterprise buyers will ask)
🟠 Mentor engagement agreement + payout terms
⚪ Purchase-order and procurement-form readiness
Positioning assets
🔴 One-page offer — what we sell, to whom, at what price, with what outcome. One page, not a deck.
🟠 Short capability deck for L&D buyers
🟠 Case-study template, ready to fill the moment a pilot completes
Definition of Done: we can legally issue a compliant invoice to an Indian company and receive money for it.
Phase B2 — First paying customer 🔴 (the 90-day gate — target 2026-11-25)
Choose the beachhead — one, not four
🔴 Pick a single vertical and commit for 90 days. Ranked by evidence of budget, not interest:
AI/ML for working engineers — 76.6% of Indian orgs prioritising it; crowded, so verticalise by role or industry
Semiconductor/VLSI specialisations — government-identified gap in non-generic specialisations; too small for the giants ⚠️price by phone; no public fee data exists
Tier-2/3 college placement prep — real gap, but slow-paying and seasonal
Build the supply bench (target 5, cap 10)
🔴 Recruit 5 practising senior engineers who can review async against a rubric
🟠 Calibrate them on a shared rubric — run 2 sample reviews each and compare scores
🟠 Agree payout terms and SLA expectations in writing
Sell
🔴 Build a named target list of 50 companies/institutions
🔴 1 pilot signed — free or discounted, explicitly in exchange for a public case study and a named reference
🔴 1 paid engagement ≥ ₹50,000, invoiced and collected
🟠 Written loss reasons captured from everyone who said no
Discipline
🔴 ₹0 on Google/Meta/Instagram ads. At ₹1,500–4,000 CAC against products we keep 20% of, small budgets are a pure leak. Revisit only at AOV ≥ ₹40,000 or for warm retargeting.
Definition of Done — PASS if ANY: ≥1 paid corporate/GCC engagement collected · ≥1 institution on a paid seat licence · ≥3 paying B2B logos with <8% refunds. FAIL all three → stop feature work entirely, two-week diagnosis interviewing everyone who said no, then narrow to whichever segment showed warmth or make the deliberate call to treat this as a portfolio asset. An honest stop beats a slow fade.
Phase B3 — Make it repeatable 🟠 (months 4–6)
Publish the first case study with real numbers — no invented statistics, ever again
The single most important line in this table:going live on payments is blocked by company registration, not by code. Registering the entity is currently the highest-leverage hour available, and it cannot be done in an editor.
📅 Indicative sequence
Window
Tech
Business
Weeks 1–4
T1 blockers: analytics, real content, entity surface, B2B invoices
🚨 Standing tripwires (from #83 — repeated because they matter)
Any rupee on paid ads before AOV ≥ ₹40,000 → stop, revert to outreach
Mentor review SLA breach >20% for two consecutive weeks → pause all selling, fix supply first
Refund rate >12% → freeze acquisition, re-price
New feature work >25% of founder hours while zero gate items are met → scope quarantine
Two consecutive months with <5 qualified B2B conversations → the motion isn't real; re-target
The uncomfortable summary
Eight weeks produced 111 data models, 77 pages, 33,000 lines of well-tested code, and zero customer conversations. The engineering is not the constraint and never was.
Phase T0 is genuinely impressive work. Phase B1 is four government forms and a bank appointment. B1 is worth more than T2, T3 and T4 combined right now, and it is the phase most likely to be postponed — because it produces no diff.
The next artifact should be a signed pilot, not a merged PR.
How to read this
Two umbrellas, five phases each. Every phase has a Definition of Done — a single condition that must be true before the next phase starts.
[x]= done and verified in the repo today[ ]= not doneDeliberately kept at capability level. Which library implements SSO or rate limiting is not a roadmap decision.
Where we actually stand today
The honest read: the product is roughly 70% of the way to a first B2B sale. The company is roughly 10% of the way there. Almost every remaining blocker is on the business side, not the engineering side — which is the inverse of where the last 8 weeks went.
🛠️ UMBRELLA A — TECH
Phase T0 — Foundation ✅ COMPLETE
This is the part that's genuinely done. It is a lot, and it is good.
Identity & tenancy
Catalog & authoring
Learning experience
The differentiated loop — mentor-reviewed projects
Money
Enterprise / institutional
Platform & operations
Phase T1 — Make it possible to take money 🔴 CURRENT PHASE
Nothing here is optional. Each item independently prevents a first rupee.
@example.com; legal entity reads "pending incorporation" · 🔴 Legal & compliance (India-first) #36Phase T2 — Deliver the first engagement 🟠
Only starts once T1 is done and a pilot is signed. Scope is driven by what the first buyer actually needs — do not pre-build.
Phase T3 — Make delivery repeatable ⚪
Only justified once there are 3 paying logos. Every item here is automating something currently done by hand — do it when the hand-work hurts, not before.
Phase T4 — Scale surfaces ⚪
Nothing here before ₹1L/month recurring.
#52 #53 #59 #60 #61 #62 #66 — video DRM, live sessions, live-join fallback, chat, sandbox/judge, vendor decision gate.
Rationale: async B2B delivery (content → assignment → rubric-scored human review → credential) needs none of it. This also retires the largest structural risk in the codebase — a stated differentiator depending entirely on a vendor that was acquired mid-transition, whose signup is paused, and for which we hold no API key.
Un-park trigger: a paying customer asks for live delivery in writing.
💼 UMBRELLA B — BUSINESS
Phase B0 — Research and positioning ✅ COMPLETE
Phase B1 — Become a company that can invoice 🔴 CURRENT PHASE
This is the actual critical path. None of it is engineering. All of it is unglamorous.
Legal and financial
Commercial paperwork
Positioning assets
Phase B2 — First paying customer 🔴 (the 90-day gate — target 2026-11-25)
Choose the beachhead — one, not four
Build the supply bench (target 5, cap 10)
Sell
Discipline
Phase B3 — Make it repeatable 🟠 (months 4–6)
Phase B4 — Scale ⚪ (months 7–12)
🔗 Where the two umbrellas block each other
The single most important line in this table: going live on payments is blocked by company registration, not by code. Registering the entity is currently the highest-leverage hour available, and it cannot be done in an editor.
📅 Indicative sequence
🚨 Standing tripwires (from #83 — repeated because they matter)
The uncomfortable summary
Eight weeks produced 111 data models, 77 pages, 33,000 lines of well-tested code, and zero customer conversations. The engineering is not the constraint and never was.
Phase T0 is genuinely impressive work. Phase B1 is four government forms and a bank appointment. B1 is worth more than T2, T3 and T4 combined right now, and it is the phase most likely to be postponed — because it produces no diff.
The next artifact should be a signed pilot, not a merged PR.