MushRoom
Multi-Tenant Property Software, Built and Operated by the Studio

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.
What MushRoom proves
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.
What multi-tenant looks like
What’s running in production
The operational span one engineer built and runs — a whole property business, not a demo.
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 runningThe proof point
The same architecture, AI integration, and deploy discipline the studio brings to client work — visible in something it runs itself, every day.