MSY
All projects

MSA Room

built

A private inventory system for 500+ physical items in one room — hierarchical zones, mobile-first search, and a full activity log.

Next.jsReactTypeScriptSupabasePostgreSQLTailwind CSS
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.