ThirdSlate
A study platform that reads the actual course, not the internet.
PHYS 216 · unit 4
7 / 12
Which quantity is conserved when the net external torque is zero?
source · lecture 11, slide 6
verified against source
Course-scoped
Generation is bounded to the unit being revised, not the whole uploaded library.
Cited source
Every question carries the lecture and slide it came from, which is what makes it trustworthy.
Verified answer
The answer is checked against its source passage before a student ever sees it.
Hover a marker to see what each part of the interface does.
Students served
011,000+
cumulative registered users
Questions generated
02{{QUESTIONS_GENERATED}}
Retention
03{{RETENTION_METRIC}}
week 4 return rate
Cost per study session
04{{COST_PER_SESSION}}
The problem
What was broken before any of this existed.
Generic AI study tools generate plausible questions that miss the course. Students revise the wrong material, get a good score in the app, and get surprised by the exam.
University students revising for midterms and finals, mostly on a phone, mostly the night before.
Constraints I worked inside
ownership
end to end
role span
of four tracks
shipped
reached users
What changed
The same job, before and after the work.
Before
- Generic tools generated plausible but off-syllabus questions
- Students revised the wrong material
- No link between a question and the course
- Trust lost on the first wrong answer
After
- Every question scoped to the unit being studied
- Answers verified against the source before display
- Citations back to lecture and slide
- 1,000+ students, no paid acquisition
The system, end to end
How a request travels through it.
course PDFs, slides and notes parsed into structured units
adaptive structured extraction keyed to learning objectives
pedagogically scoped retrieval, bounded to the unit being studied
questions written against retrieved course content with citations
answer checked back against the source before it reaches a student
Where the effort went
Effort split and how quality moved.
$stat --effort
Where the time actually went
- Ingestion and extraction42%
- Retrieval and generation33%
- Product, payments, growth25%
$plot --trend
How it moved
Decisions
Every call I made, and the tradeoff I took for it.
Why
A question drawn from week 11 during week 3 revision is technically correct and practically useless.
Tradeoff accepted
Fewer questions available per session, and worse behaviour when a student uploads badly organised material.
Weighting
gaincostmy judgement, not a measurement
Why
One confidently wrong answer costs more trust than ten slow ones.
Tradeoff accepted
Roughly double the inference cost per question, which forced hard work on caching and batching.
Weighting
gaincostmy judgement, not a measurement
Why
I needed to know which behaviour to charge for. Guessing at pricing before that is expensive theatre.
Tradeoff accepted
Months of unmonetised inference spend, absorbed deliberately as the cost of learning what people used.
Weighting
gaincostmy judgement, not a measurement
Why
Session analytics were unambiguous about when and where students actually revise.
Tradeoff accepted
The desktop experience stayed plainer than I wanted for longer than I wanted.
Weighting
gaincostmy judgement, not a measurement
Outcome
What was true after it shipped.
Grew past 1,000 students with no paid acquisition, mostly through course-level word of mouth.
PRASE became the differentiator competitors could not match with prompt engineering alone.
Set up the pricing and packaging decisions with real usage data instead of assumptions.
What worked
Treating trust as the core metric. Verification felt expensive on the spreadsheet and turned out to be the reason students came back.
What was hard
Ingestion. Real course material is far messier than any demo dataset, and most of the engineering time went there.
What I would change
I would instrument the learning outcome, not just engagement. Time in app is a weak proxy for whether someone actually did better.
$./next-step
Hiring for a product engineer who can carry the whole thing?
Send me the role and the problem behind it. I will tell you honestly whether I am the right fit.