Skip to content

Sales operations, name changed

Tidewater's sales desk

A sales desk in one app: the day's queue, the appointments board, invoicing, and a view for each role.

Services
  • App or CRM
  • Automation
Stack
pnpm workspace, Fly.io, Vitest
Updated
The board at laptop width: the menu down the left, a row of tiles across the top, then columns of cards, each card with its badges, its follow-up and its buttons, one card open to its note and its outcome buttons.
The board. Each appointment that has been sat is a card, and it moves a column to the right until it has an outcome. A facsimile with sample data.

The desk a sales team works from

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.

The next record, ready the moment one is done

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

What it does

The day's queue lives in the app, beside the board and the invoicing.

Sample

Click through a sample

The app on its own screens, with made-up data. On a computer, the controls work.

Tidewater
In flight
7
Needs outcome
3
Upcoming
5
Overdue chases
2
Parked
1
Partner meetings
3

Just sat3

Imani Calloway

Sat Tuesday with Harlow and Finch

OwnerShowed

Call Thursday morning

Bram Kowalczyk

Sat Tuesday with Brightwater Co.

TradeShowedCommission

Send the recap today

Sunniva Aldana

Sat Wednesday with Saltmarsh Works

Owner

Did not show, rebook this week

Quoting2

Desmond Achterberg

Sat last week with Harlow and Finch

OwnerShowedCommission

Quote due Friday

Laleh Montrose

Sat last week with Kestrel Yard

TradeOverdue

Chase the quote, two days late

Quote out, deciding3

Piotr Vasquez-Lund

Quote sent Monday

OwnerShowed

Decision expected Wednesday

Henrietta Osei

Quote sent last week

OwnerOverdue

Chase the decision, a week since the quote

Mateus Lindgren

Parked

Quote sent two weeks ago

TradeCommission

Look again next month

The board. Each appointment that has been sat is a card: advance it a column, open its notes, and give it an outcome. A replica with sample data, not a screenshot.

Different people, different views

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.

Today's queue on a rep's phone: the menu holds Today and nothing else, then a short table of records, each with its next step and a status pill, one of them open to its details.
Today on a rep's phone. This role sees the day's queue and nothing else. A facsimile with sample data.

What was sent, what is paid and what is late

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.

The finance screen at laptop width: the menu down the left, a row of tiles, the week's invoices as a list of events, and beside it the invoices that need attention, each with its buttons.
The finance screen. What was sent and paid this week, and the invoices that need a person. A facsimile with sample data.

The codebase that became our chassis

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.

Stack

  • pnpm workspaceweb, worker and shared packages
  • Fly.iothe background worker
  • Vitestthe test suite

Tell us what you are working on.

A few lines about your business is enough to start. We reply with questions and a plain next step.