Work06Full-stack product

CityHelp

Civic platform: report city issues, upvote, and track fixes on a live dashboard and map.

Role
Solo — design, engineering, deployment
Language
TypeScript 99.3% · CSS 0.6%
Timeline
Jun 2026 → Jun 2026
Last push
3 months ago · 13 commits
CityHelp — screenshot of the live product
Supabase-powered dashboard + map
Realtime
trends, category mix, department load
7-day
wards tracked in the demo dataset
18+

Residents report potholes, outages and overflowing bins with a location in seconds, rally support with upvotes, and follow resolutions across wards on a realtime dashboard with 7-day trends, category mix and department workload.

Problem

Civic complaints disappear into phone lines and paper. The goal was a transparent loop — report, upvote, track — where the city’s health is visible to everyone in real time rather than buried in a department inbox.

Approach

  1. 01

    Next.js with API routes over Supabase Realtime (PostgreSQL) so new reports and status changes stream to every open dashboard.

  2. 02

    Issue reports carry location and category; upvotes surface what matters to a neighbourhood.

  3. 03

    A dashboard with Recharts renders 7-day trends, category mix and department workload; a map view places every open issue; a services directory puts every city service in one place.

Results

Supabase-powered dashboard + map
Realtime
trends, category mix, department load
7-day
wards tracked in the demo dataset
18+
Created
3 Jun 2026
Commits
13
Default branch
master
License
unlicensed

Stack

  • Next.js
  • TypeScript
  • Supabase Realtime
  • PostgreSQL
  • Recharts
  • API Routes