Multi-department operations platform
Built at JD Marc Limited / production, internal
A single workspace replacing nine departments' worth of spreadsheets and email threads. Staff, HR, and admin each see a different application, enforced at the database rather than in the interface.
The hard part: nine departments wanted nine different data shapes, and building nine schemas would have meant nine migrations every time something changed. I built a generic record layer on a single jsonb table, with department modules declaring their own fields on top — one schema, nine applications. Access is enforced with row-level security policies for the Admin, HR, and Staff tiers, so a bug in the frontend cannot leak another department’s records.
What it produced: reporting that used to arrive as an hourly batch now lands in under a second over a realtime channel, and roughly 40% of the repetitive steps in cross-department handoffs are gone.
React, Vite, Supabase (Postgres, RLS, Realtime), WebRTC signalling, TypeScript
