Small claims. Big feelings.
Petty Court
A playful court of public opinion for everyday disputes. File a case, present evidence, invite a jury, and share the verdict.
“A tiny disagreement deserves an unnecessarily beautiful hearing.”
01
Problem
Give friends a playful, structured way to settle low-stakes disagreements while making evidence and both sides of the story easy to understand.
02
Role
Product design, visual identity, responsive frontend, case and voting APIs, data persistence, and validation.
03
Constraints
Keep filing and voting account-free, preserve shared case state, prevent duplicate votes within a browser, and handle deadlines and owner-only case closure.
04
Process
Built a searchable docket, a three-step filing flow, evidence exhibits, jury voting, and verdict cards. Local development uses persistent files; the PostgreSQL adapter serializes hosted writes with row locks.
05
Result
A standalone app with public case links, image and text evidence, timed voting, case-owner controls, and exportable verdict cards. Deployment requires a PostgreSQL connection.
Experience highlights
- Searchable and filterable case docket with clearly labeled fictional examples
- Three-step filing with up to three image or text exhibits
- Browser-based voting, jury deadlines, and owner-only early closure
- Shareable case links and downloadable verdict cards
Engineering & performance
- Next.js and React with TypeScript and a custom responsive visual system
- Atomic local persistence and a PostgreSQL-backed deployment adapter
- Server-side validation, request-size limits, origin checks, and protected ownership
- Tests for verdicts, deadlines, concurrent transactions, and HTTP workflows