Technical details
A HashRouter keeps navigation compatible with static hosting. Demo mode uses a built-in dataset and browser-local state, while an optional Supabase configuration adds email authentication, owner-scoped relational data, and private image storage.
Database policies check ownership across the room → category → item hierarchy. The browser anon key is treated as public configuration; authorization depends on Row Level Security and storage policies.