Problem
Realtime collaborative UIs are easy to demo and hard to trust. Optimistic updates that silently lose writes, permission checks that only exist in the frontend.
What I built
Authenticated workspaces with optimistic UI and realtime synchronization backed by Supabase/PostgreSQL. Row-level security enforces membership and data ownership at the database layer, where application code cannot bypass it. End-to-end tests cover auth flows, concurrent updates, and permission-denied paths.
Why it matters
The same care a good CRUD app gets, applied to realtime multi-user state: permissions enforced where they cannot be bypassed, and tests that actually exercise concurrency.
Result
Workspace membership and data ownership are enforced by row-level security at the database layer. Concurrent edits sync correctly, and permission-denied paths are covered by end-to-end tests.
Stack
- Next.js
- TypeScript
- Supabase
- PostgreSQL
- Playwright