MushRoom
Property Management Made Simple
MushRoom is software the studio built and operates for itself. It is not a SaaS we sell seats for — it is the proof point we point to when clients ask “can a single senior engineer ship and run something real?” Multi-tenant on AWS, AI-integrated, deployed daily, used in production. The same approach is available for client engagements where the shape fits.

Simple. Mobile. Powerful.
What’s running in production
What multi-tenant looks like
Where the AI integration sits
Claude Desktop and similar AI clients connect via PKCE auth, not by pasting data into a chat window. Hierarchical mcp:read and mcp:write scopes; refresh tokens rotate on every exchange.
list_bookings, financial_summary, search_guest, list_tax_periods, and the rest. The AI only sees what its operator can see — multi-tenant boundaries enforced per call, not at the prompt layer.
set_tax_target, create_expense, update_booking_checkin_time. mcp:read tokens cannot mutate; requireWriteScope() throws before the row is touched. Auto-generated rows stay read-only.
Every tool handler reads { userId, role }from an ALS context bound at request entry. Concurrent AI clients cannot see each other’s data, and tools cannot run without a user bound.
See it running
MushRoom runs live in production every day at mushroom.avantmedia.uk. It is login-gated — the app holds real, multi-tenant client data (operators’ bookings, guests, and finances), so the studio does not expose tenant data publicly. But the running deployment is right there to see: the live sign-in confirms the “deployed daily, used in production” claim is a real product, not a mockup — something you can check for yourself without contacting us first.
See MushRoom running →The same architecture, AI integration, and deploy practice the studio brings to client work — visible in something the studio runs itself.