MSA Room
builtA private inventory system for 500+ physical items in one room — hierarchical zones, mobile-first search, and a full activity log.
- 500+
- Items tracked
- 0
- API endpoints
- 12
- Feature areas
PROBLEM
Finding a specific physical object among hundreds is a search problem, not a storage problem. MSA Room tracks every item in a single room against a hierarchy of zones, so the answer to "where is it" is one query rather than twenty minutes of opening boxes.
WHAT'S IN IT
- Hierarchical zones, categories, and mobile-first search built for one-handed use while standing in the room.
- Private Supabase Storage bucket for item photos, served through long-lived signed URLs rather than a public bucket.
- Row-level security policies plus disabled public sign-up — genuinely single-tenant, not just unlisted.
- Activity log, archive, lent-item tracking, reminders, bulk actions, and data export.
ROLE
Solo builder — data model, server actions, auth gating, image pipeline, and the whole UI.
NOTABLE DECISION
No API layer at all — every mutation is a Server Action and every read happens in a Server Component, with auth gated in Next's proxy layer. For a single-user app, a REST tier between the UI and Postgres would have been pure ceremony, and skipping it removed a whole class of serialisation and auth-duplication bugs.