Brew Room
The workspace you get when you work with Mochacidal. Your agreement, the work, the decisions, the retainer and the invoice live in one place — the same record our team works from, with the right permissions.
What is Brew Room?
Brew Room is the workspace you get when you work with Mochacidal. It starts with your Technical Services Agreement and carries the same record through scoping, delivery, requests, retainers and invoices. You and our team work from the same system, with different views and different permissions.
Most project work still runs through a folder, an inbox and a PDF. Brew Room is the place where your engagement lives instead: your projects, the requests you have raised, the deliverable waiting on you, your retainer balance and the invoice you need to pay. Our team works from the controls behind it.
Your agreement is not a document filed in a drawer. The terms that matter — your hourly rate, retainer minutes, payment window, tax rate, expense budget and anchor day — are captured once and then drive the workspace. They lock when the agreement is signed, and the workspace opens. Changing the commercial terms means a new agreement, which is the point.
The workspace uses your language. A coffee brand sees Roasts, Sips and Pours; a professional-services engagement sees Projects, Requests and Deliverables. The structure is the same; the vocabulary is yours. Your timezone, currency, billing details and notification preferences carry through the workspace.
Brew Room is not a mockup. It is the system your engagement runs on, deployed from the same repository as the rest of our work. The screenshots on this page are from the live workspace, using demo data.
Screenshots
One workspace, from your side.
Captured from the live workspace. This workspace uses the coffee vocabulary: projects are roasts, requests are sips, and deliverables are pours.
The Shape of It
Six things that make it your workspace, not a portal.
Your agreement, applied
Your agreement is signed and stored with its signed copy. On signature the terms freeze: your rate, retainer minutes, payment terms, tax, expense budget and anchor day. The rest of the workspace reads those terms instead of asking again.
A request is a room
Every request you raise has a status, an owner, a priority and a thread. You see the same status we do. Our internal notes are marked and never leave our side. Read state and notifications follow the thread, not a weekly status email.
Deliverables with a decision
Work is submitted for your review, then you accept it or send it back with a note. Your acceptance is final for that submission; we cannot decide on your behalf. Every decision is attached to the deliverable, not buried in an email.
A retainer that behaves like a bank
Your minutes are granted on the anchor day and drawn oldest-first. Unused minutes carry forward inside the expiry window, then leave the bank. You see the balance; our team sees the ledger and the draws behind it.
Money in the same place
Recorded time, approved expenses, retainer fees and one-off work become invoice lines without re-keying. Invoices can be drafted, sent, voided, paid by card or ACH, and settled with credits. Overdue reminders go out once per workspace day until the balance is zero.
The right people see the right things
You choose who on your team can see the work and who can see the money. Access is enforced in the database, not by hiding buttons in the browser. Files are granted by row, not by a guessable URL.
From signature to invoice
- Sign. Your contract is drafted from a template, sent for signature and stored with its signed copy. The commercial terms freeze at that moment.
- Scope. The workspace opens with your projects, phases, milestones, retainer and the rates from the agreement.
- Deliver. Requests, threads, deliverables, expenses and recorded time accumulate against the same project — visible to you as work, not as a status meeting.
- Bill. Approved time and expenses become invoice lines; your retainer draws against its bank; you pay in the workspace and the balance closes.
The point is not to automate the relationship. It is to make the state of your engagement legible at any moment: what is open, what is waiting, what is owed, and what was agreed.
What you see
You see the overview, projects, requests, deliverables, chat, files, contract, retainer and invoices. You also see who is on your team and what they can access.
Our side keeps the recorded time, the retainer ledger, scheduling and billing controls. You get the outcome and the record; we keep the workshop.
Built to be trusted with your work
Brew Room is a Vite single-page app on Vercel, backed by Supabase Postgres, Auth, Storage, Realtime and Edge Functions. Stripe handles payments, Documenso handles signatures, Resend handles transactional email, and scheduled jobs run on pg_cron and the Edge Function runtime.
Your workspace is separated at the database level. Access is enforced by Postgres row-level security, not by hiding buttons in the browser. Files are granted by a row, not by a guessable URL, and the same policies are exercised by tests.
The build process is the same one we bring to every engagement: a written design, AI-assisted implementation, specialist review passes for security and performance, and a named engineer who signs off every change. Brew Room is the proof that the process can carry a real product, not just a prototype.
One place for the work and the paper.
If your project still lives in a folder, a spreadsheet and an inbox, we should talk. Brew Room is the workspace we built to stop doing that.
Talk about your project