Imani Calloway
Sat Tuesday with Harlow and Finch
Call Thursday morning
Sales operations, name changed
A sales desk in one app: the day's queue, the appointments board, invoicing, and a view for each role.

Tidewater is a fictional name for a real company, and every screen on this page shows sample data.
Its sales team works from one app. It holds the day's queue, the appointments and what comes of them, invoicing and what is still owed, and a sign-in for the partners the company works with.
A sales desk runs on speed and clean handoffs. Whoever works the queue needs the next record ready the moment one is done, with everything about it one press away: the facts, the notes, the last call and its short summary, the documents, the follow-up.
Appointments that have been sat live on a board. Each one is a card that moves a column to the right as the quote is written, sent and decided, and every card ends with an outcome. A row of tiles above the columns says what is in flight and what is overdue.
Features
The day's queue lives in the app, beside the board and the invoicing.
Every appointment that has been sat is a card that moves across the board until it has an outcome.
Roles decide what each person sees, and the rules live in one place.
The money side sees what was sent, what is paid and what is late.
Partners sign in to a view that shows only what is theirs.
Sample
The app on its own screens, with made-up data. On a computer, the controls work.
Imani Calloway
Sat Tuesday with Harlow and Finch
Call Thursday morning
Bram Kowalczyk
Sat Tuesday with Brightwater Co.
Send the recap today
Sunniva Aldana
Sat Wednesday with Saltmarsh Works
Did not show, rebook this week
Desmond Achterberg
Sat last week with Harlow and Finch
Quote due Friday
Laleh Montrose
Sat last week with Kestrel Yard
Chase the quote, two days late
Piotr Vasquez-Lund
Quote sent Monday
Decision expected Wednesday
Henrietta Osei
Quote sent last week
Chase the decision, a week since the quote
Mateus Lindgren
ParkedQuote sent two weeks ago
Look again next month
A rep sees today's queue and nothing else. A manager sees the board and the team, the money side sees the invoices, and a partner signs in to a view that shows only what is theirs. The rule is deny by default: a section a role has no business in is not there.
The rules live in one place. One codebase serves several web projects, so a change to who sees what is made once instead of drifting apart across copies.

The money side needs a clear answer at any hour: what has been invoiced, what has been paid and what is late. The finance screen answers with a row of tiles, the week's invoices in the order they were sent and paid, and a short list of the ones that need a person.
From that list an invoice's pay link can be copied, the invoice sent again, a payment recorded by hand or the invoice voided. Each action leaves its word on the row, so the next person sees what was done.

We built it as a pnpm workspace with three packages: the web app, a worker, and the shared code both of them import. The worker runs on Fly and takes the slow jobs off the request path, so the screens stay quick.
The test suite is the safety net, large enough that a fix in one corner of the app cannot quietly break another.
Its codebase became our CRM chassis. The deal desk and the export CRM in our work both started from it rather than from an empty folder.
A few lines about your business is enough to start. We reply with questions and a plain next step.