CommunityClean
Map-based platform for residents to report, coordinate and verify waste clean-ups when council collection breaks down.
Birmingham's bin strikes left waste sitting on the street for weeks, and residents had no reliable way to say where it was or whether anyone had dealt with it. CommunityClean was my dissertation answer: a map where anyone can drop a report with a photo, a location and a severity rating, see what has already been logged nearby, and organise a clean-up around it. Reports move through a full lifecycle, from submitted to scheduled to cleaned and finally verified with photographic proof, with admin moderation sitting behind the whole thing.
Access control lives in Postgres as Row-Level Security rather than in the application layer, with Zod validating at the edge. The cost is that the policy sits further from the code that reads it. The payoff is a report staying unreadable even when a query is wrong.
- Next.js
- TypeScript
- Supabase
- PostgreSQL
- MapLibre
- Zod
- Vitest
- Vercel