← Back to work

04 / 06Distributed systems

Disaster Response System

An academic platform split across device, data, interaction, and platform-security subgroups. I built the command centre that sits on top of it: the dashboard pages, the interactive incident map, resource and report workflows, and a shared permission model that navigation, route guards, and actions all read from.

Illustration
Team
Team of 20
Status
Completed

What I built

  1. 01Command centre pages for alerts, analytics, incoming reports, resources, and the incident map.
  2. 02Authentication context, reusable route guards, typed permissions, and role-aware navigation.
  3. 03Unit tests covering permissions, filters, validation, and dashboard statistics.
  4. 04Graceful behaviour when the database is unavailable, plus later work on alerts and audit access.

Scope and limits

  • This was a 20-person project, so platform-wide features are team outcomes.
  • The live Socket.IO map integration was added later by a teammate.
  • The repository ships local demonstration credentials that must not be reused anywhere real.

Built with

  • Next.js
  • TypeScript
  • Socket.IO
  • Kafka
  • PostgreSQL
  • Docker
  • Vitest