← Back to projects

2026 / Full-stack product

GhostWorkers

A real-time collaboration platform for small teams, combining Kanban boards, chat, and secure code-based invitations.

SYS / MEDIA

Product in use

GhostWorkers Kanban board with tasks distributed across four states
01Real-time board with workflow states, priorities, and workload summary.
GhostWorkers dialog for generating an invitation and selecting its role
02Invitations with server-validated roles, expiry, and usage limits.

01 / Context

The challenge

Real-time collaboration had to remain simple without trusting privileged operations to the browser. The system needed to isolate workspace data, prevent author spoofing, enforce seats and invitations under concurrency, and normalize existing data without disrupting production.

02 / Responsibility

My role

I designed and built the product end to end: interface, data model, authorization, Cloud Functions, production migration, testing, and the Firebase rollout.

03 / Architecture

Key decisions

  • I made workspace membership the source of truth and enforced deny-by-default authorization through Firestore and Storage Rules.
  • I moved invitations, seat enforcement, and recursive deletion into Cloud Functions for server-side permission checks and atomic writes.
  • I designed an idempotent migration with dry-run reporting, unsafe-relationship blockers, a managed backup, and post-migration verification.
  • I tested rules, callables, and migration behavior against Firebase Emulator Suite, including denied access and concurrent state changes.

04 / Result

Impact

The rollout normalized production data and deployed the new security boundary without blockers. Automated suites cover 20 scenarios, and production dependencies report no known vulnerabilities through npm audit.