← All projects
Echoes of July
JH26-ZBR8Bear Minimum · Dhaka · 2 members · Spirit of July
An interactive documentary that lets users relive key days of July 2024 through a fictional narrative before surfacing the verified history.
The problem
July 2024 was a defining month for Bangladesh, a student-led movement that toppled a government and reshaped a nation, but most retellings collapse it into headlines, partisan framings, or single-source narratives. New audiences either miss the texture of what those days actually felt like, or they encounter the events only as static documents, stripped of the human stakes. Primary sources exist (photographs, front pages, witness video, tribunal findings) but, they sit in scattered archives, and the conflicting accounts (e.g. birdshot vs. rubber bullets vs. gunshot) are rarely presented side by side.
What we tackled:
1. Relives the days, not just lists them
2. Holds competing accounts open
3. Pairs every scene with its evidence
4. Stays strictly JSON-driven
5. Works inside tight hackathon constraints
The solution
A two-layer interactive documentary. Each chapter runs as a guided narrative (/story/[chapter]) that opens with narrator framing, hands the user a choice, then branches into evidence-rich scenes, before resolving into a verified historical record (/history/[chapter]) and a reflective summary (/reflection/[chapter]). A timeline view (/timeline) lets users move non-linearly through the days.
Architecture in one paragraph. A Next.js App Router app reads chapter JSON at render time and renders typed scenes (dialogue, choice, evidence) through a small set of reusable React components. A lightweight client-side save system (save-system.ts) tracks the user's last scene and choices via localStorage, so the Resume dialog can drop them back where they left off. Evidence is rendered with full provenance: outlet, photographer, archive filename, source URL, and a separate archiveNote describing what the image actually shows, never folded into the caption.
Tech stack
Next.js, React, Node.js, Typescript, Tailwind CSS
AI tools used (section 5 disclosure)
Puku CLI