Jobs and the record

A job, and everything that happened to it.

Customers, the photos they send before you drive out, who on your team may move a price, and a written record of every change anybody made to any of it.

Jobs5 open
Ridgeline residenceD. Alvarez · Proposal sent$46,286
Camden pool and spaM. Okafor · Approved$81,400
Harbour Way lanaiS. Whitfield · Construction ready$122,850
Fairhaven rebuildT. Brennan · Draft—
Willow Court screenA. Petrov · Ready for review$18,220
ActivityAudit log
Deck material set to paver09:14
Heater removed from quote09:31
Checklist run · 2 warnings10:02
Proposal exported10:09

Every command writes a row, whether it succeeded or failed.

Jobs

Everything hangs off the job

A customer, their address, and the work you are quoting them. Every design, every quote, every document and every comment lives on that one record rather than in four places that have to be kept in step.

  • Six states, in order

    Draft, ready for review, proposal sent, approved, construction ready, archived. The status is what it is because of what happened, not because somebody remembered to update it.

    Draft → archived

  • Customers, not leads

    A person, a phone number and the address the pool is going in. Enough to write the proposal and enough to find the job again.

  • Every design on the rack

    Up to forty alternatives against one job, each with its own drawing and its own total. One is active, and the active one is what the quote and the documents read.

    40 max

  • Your company, set once

    Logo, colour, licence number, terms and tax rate. Every document you send carries them without you doing anything.

  • Quoting on day one

    A new company starts with a working price book rather than an empty table, so the first job can be quoted the afternoon the account opens.

  • Nothing crosses companies

    Every query is scoped to your organisation. There is no global view, and no screen that could accidentally show you somebody else’s job.


Intake

The site arrives before you do

The hour you spend driving out to photograph a back yard is an hour you are not selling. Send a link instead and let the customer do it from the phone that is already in their hand.

  • No account, no app. A link they open, a few photos, done. It works on the phone that took the pictures, including the HEIC files an iPhone actually produces.

  • Photos, sketches, the survey. A picture of the yard, a sketch on graph paper with the dimensions written on it, or the PDF survey from closing. All of it lands on the job.

  • The link is public, and treated that way. Uploads are size-capped before a byte of the body is read and rate-limited per address, because a public endpoint is one a stranger can find.

  • It becomes something you can trace. The images sit on the job as source material for the import, rather than in an email you have to go and find.

Intake linkSent to the customer
Back yard, from the patioPHOTO · 3.1 MB
Back yard, from the fencePHOTO · 2.7 MB
Sketch on graph paperPHOTO · 1.9 MB
SurveyPDF · 480 KB

No account, no app. A link they open on the phone that took the photos.


Import

From a photograph to a measured project

Reading a picture is the part every competitor leaves alone. It runs here, and it is honest about what it still needs from you.

  • It works out what it is looking at

    A yard photograph, a hand sketch and a surveyor’s drawing are three different problems, and the first step is deciding which one arrived.

  • It reads the numbers you wrote

    Dimensions written on a graph-paper sketch come off the image as dimensions, not as a note somebody has to retype.

  • Then it gets precise

    A second pass finds the grid, separates the ink from the paper and simplifies the traced outline into the corners you meant.

  • You approve it before it lands

    Nothing is committed to the job until you have seen what it read and corrected it. Extraction proposes; you decide.

    Needs a scale reference

It still needs something of known size in the frame to set the scale. Without one, it will give you the shape and ask you for the dimension.


Team

Roles exist to protect one thing

Access control on a drawing tool is usually theatre. Here it guards the price book, which is the one object in the product where a wrong edit costs money on every quote that follows.

  • Owner, admin, member. Owners and admins keep the team and the book. Members quote from it, which is what most of a sales floor needs.

  • Nobody grants access above their own. An admin who could invite an owner has made themselves an owner with a second email address, and every other check becomes decoration.

  • There is always an owner. An organisation with no owner has nobody who can promote anybody: live data and no way back short of a database console. It refuses.

  • Refusals name the person. "Only an owner or an admin can change who is on the team" is something you can act on. An internal id is not, and never appears in front of anybody.

Team3 people
Dana AlvarezOWNER
Marcus OkaforADMIN
Sofia WhitfieldMEMBER

Nobody can hand out access above their own, and an organisation always keeps at least one owner.


The record

What did this person actually do

Every action in the product goes through one place, and that place writes it down. Not a log file somebody has to go and read: a row on the job, whether the action succeeded or failed.

  • Every command, both ways

    What was asked for, what came back, whether it worked and what the error was. A failed action is as much a part of the record as one that went through.

    Audit log

  • One path for everything

    A toolbar button, a keyboard shortcut and a server action all run the same command. There is no second route that skips the write.

  • It tells you when it breaks

    Errors are reported with the secrets stripped out, and the person on screen gets a short reference they can quote rather than a stack trace.

    err_<12 hex>

  • Quotes are reproducible

    A quote stores the measurements, the selections and the price book version it was built from, so it can be rebuilt exactly months later.