YouMakr.ai
Exam prep for medical students that predicts what the next exam will ask, then drills it.
- 100,000
- students registered in months, on almost no ad spend
- NPS 75+
- held consistently, which made it spread by itself
- $800K
- raised; named in the Startups 100, 2024

- My role
- Co-founder and CEO. I owned the product, the prompts and the growth loops.
- Team
- Six engineers wrote the code under my direction.
- Built
- By hand, from December 2023. Over 1,800 commits across the web app and the API.
- Stack
- Angular, NestJS, MongoDB, Redis job queues, Socket.IO, Stripe, AWS S3, OpenAI GPT-3.5 Turbo and later GPT-4o
Revising the right things
Medical students don't fail for lack of effort. They fail because they revise the whole syllabus when the exam only asks about part of it. YouMakr predicts the questions an upcoming exam is most likely to ask, then writes practice questions on exactly that material. Students revise by active recall on what will actually be examined, and walk in confident they know it.
We coded YouMakr by hand. AI coding tools weren't a thing yet, so every line of the web app and the API was written by engineers, and every limit of the models we called had to be worked around in code.
Getting multiple choice out of prose
A multiple-choice quiz needs exactly one question, four options and one correct answer, every time. In 2023 GPT couldn't support a structured schema. It answered in prose, and the prose changed shape from one response to the next. So I made the model mark its own output with tags, and we wrote a deterministic classifier that isolates each question, each option and the correct answer from everything else it says, then hands those pieces to the interface.
How the classifier grew
- Dec 2023The first prompt asked GPT to wrap each question and answer in tags we invented.
- Jan 2024We rewrote the parser once the real range of GPT's formatting became clear.
- Mar 2024GPT started swapping curly for square brackets and changing case. Each new spelling became a rule; every tag now has eight.
- May 2024We moved generation to GPT-4o. Better questions, and new formatting habits to catch.
- Jul 2024Each question got its own wrapper tag and is parsed on its own, and anything incomplete is dropped.~99% parsed
Let the model mark its own output
Tags were simple for the model to follow, and they survive whatever prose it wraps around them.
Trade-off Every new way GPT bent a tag needed a new rule, written by hand.
Deterministic, not clever
The classifier is plain pattern matching. It's predictable, costs nothing to run, and adds no second model call that could fail in its own way.
Trade-off Months of catching edge cases one response at a time.
Parse each question on its own
The first parser pulled every question and every option into separate lists and paired them up by position. One missing option shifted every answer after it onto the wrong question. Wrapping each question in its own block contained the damage.
Drop the question, not the quiz
When a question comes back without a question, four options or a correct answer, it never reaches the student. The rest of the set still loads.
Trade-off A student occasionally gets 11 questions instead of 12.
Growth without ad spend
100,000 students registered within months, and we barely paid for traffic. Three things did the work.
A product worth talking about
Students liked it enough to hold NPS above 75. That alone made it shareable among classmates facing the same exam.
Sharing built into the product
Students can share their generated practice tests with classmates sitting the same exam, a group with every reason to sign up. Referral rewards sit on top: the more classmates a student brings in, the more free usage they earn.
Lecturers as partners, not ad slots
I offered medical lecturers on YouTube free practice questions generated from their own videos, linked in the video description. They got engagement and a study resource for their audience at no cost. We reached channels with millions of followers without paying for a click, and neither side experienced it as advertising.
Other calls I made
Small chunks, run in parallel
Study material is split into chunks of about 450 words, and each chunk asks for 12 questions at the same time. Smaller inputs kept the questions close to the material and kept the wait short.
Trade-off More calls to OpenAI per test.
Shuffle everything
The prompt tells GPT to move the correct answer between A, B, C and D, and the finished set is shuffled so questions from different chunks mix. Students can't learn the pattern instead of the material.
Close distractors on purpose
The prompt asks for options that are easy to confuse. Recall only works when the wrong answers are plausible.
Numbers
- 100,000
- Students registered within months, on almost no ad spend2024
- NPS 75+
- Held consistently across our student base2024
- $800K
- Raised2024
- Top 100
- Named in the Startups 1002024
- ~99%
- GPT responses parsed into complete questionsJul 2024