SmartRecap Cited Class Recaps
Turns lecture slides, PDFs and Word documents into a structured recap and revision quiz where every claim cites the exact slide it came from.
Team Stay Grounded — with Rihan Iqbal, Hong Yi Tan, Dillon Poh

1
Place, NYP × AWS 2026
25
Page components
16.5h
Build window
4
Team members
What it does
- 📎 Slides, PDF & DOCX intake
- 🔗 Slide-level citations
- 🧪 Generated revision quiz
- 🧭 3D pipeline guide
- 🐍 In-browser Python IDE
- ⏲️ Idle session timeout
- 📄 25 page components
- 🚫 Drops untraceable claims
Built with
- React
- TypeScript
- WebGL
- Python
- AWS
- Vercel
- Render
Walkthrough
Scroll to follow the build, screen by screen.
The problem
A summary you still have to fact-check is not a summary
Ask a model to summarise a lecture deck and you get fluent paragraphs with no way to tell which slide any sentence came from — so you re-read the deck anyway. The brief was an automated class recap generator; the interesting constraint was making the output trustworthy enough to replace the deck rather than sit alongside it.
The rule
Every claim cites its slide, or it is dropped
Each line of the recap links back to the exact slide it was drawn from, and anything the model cannot trace to a source is dropped before it reaches you rather than quietly presented as fact. The result says less than a plain summariser would — and nothing it says needs checking against the deck. The landing page puts the target plainly: uncited claims that ship, zero.
The reader
Citations you can follow without losing your place
I built the reader that connects each recap line to its source slide, so verifying a claim is one click rather than a hunt through the original file. The citation is the primary interaction, not a footnote.
Making it legible
A 3D guide driven by the real pipeline
Document processing is slow and invisible, which reads as broken. I built a WebGL guide whose stages are wired to the actual backend pipeline, so what is on screen reflects where the job really is instead of animating a guess.
Practising
A Python IDE in the browser
Recaps and quizzes tell you what you missed; they do not give you anywhere to practise. The client embeds a Python editor so a revision question can be answered by writing code rather than picking an option.
The constraint
One night, not two days
We misread the schedule and found we had a single sitting rather than two days — 2pm Tuesday to 6:30am Wednesday. Twenty-five page components, the citation reader, the 3D guide and session handling were built in that window. It placed first.

01 / 06
The case study
Situation & Task
Problem Statement 1 of the NYP × AWS Hackathon 2026 asked for an automated class recap generator. The obvious build — feed the deck to a model, print the summary — produces something students still have to verify line by line against the original, which removes most of the value. Our team took the harder read of the brief: the output had to be trustworthy on its own.
Actions Taken
I owned the frontend in full: 25 page components, the citation reader linking each recap line to its source slide, a 3D WebGL guide driven by real backend pipeline stages rather than a canned animation, an in-browser Python practice IDE, and session management with automatic logout after an hour idle. We had one overnight sitting rather than the two days we thought we had — 2pm Tuesday to 6:30am Wednesday.
Results Achieved
First place. The grounding rule — cite the slide or drop the claim — is what separated it from a summariser, and it is the decision I would defend hardest: it makes the tool say less, and makes everything it does say checkable in one click.
What I took away
- Grounding output in citations is a product decision before it is a technical one — it changes what the tool is allowed to say.
- Showing real pipeline stages beats a spinner: an honest wait feels shorter than an invisible one.
- Scoping under a hard deadline means choosing what not to build, then building the rest properly.
- Owning an entire frontend surface forces consistency decisions you can avoid when splitting the work.
The hackathon AWS environment has expired. The live demo runs on Vercel and Render free tiers with a lighter model, and Render sleeps when idle — the first load takes about a minute.