The problem
Task boards are a solved problem until you need the history to be trustworthy. The schema work - soft deletes, cascade and set-null referential integrity, append-only card events - is what separates this from a to-do list.
What I built
- Designed a seven-table PostgreSQL schema with cascade and set-null referential integrity, soft deletes and composite indexes for unread-notification and per-column card queries.
- Built drag-and-drop boards, project membership and invitation flows, personal cross-project boards and notifications.
Stack
PythonFastAPISupabasePostgreSQLPydanticJWT refresh tokensReactViteTailwind CSSdnd-kitRadix UIshadcn/uiReact Hook FormZoddate-fnsSonner
Skills applied
- Relational schema design
- Database indexing
- Event-sourced audit logging
- Permission modelling
- Drag-and-drop UX
- Component library architecture
- Form validation