Trevor PaughSystems engineer
Trevor PaughProject Chronicles

Chronicles / PermitBuzz

Approved with the defaults. Build started.

Milestone

The owner approved the mockups and the plan with every default but one, answered the open questions, and gave the go. Three builder and reviewer sessions are being stood up: one on the county connectors, one on the app skeleton, one reading only. The product still has no name.

Five days after the plan was closed with its questions unanswered, the owner came back and answered them in a few lines. Every default in the plan stood except one, founder pricing, which was struck. Then two words: “Let’s go.”

What was approved

The eleven mockups, the written plan, the stack, the data strategy, and the first milestone’s slices, all as proposed. Pricing was settled in the same message and gets its own entry, as do the first counties.

What started

Milestone 1 is under way with three sessions reporting to the manager, who owns main and does the merging:

  • Ingest. Connectors for the first two jurisdictions and a nightly run that pulls their permits.
  • App. The skeleton: sign-in by an emailed code, the alert builder with the county and city picker, the daily email digest, a permit page, and the one-tap manage page. It works in its own worktree so it never collides with the ingest work.
  • Review. A reviewer that reads and does not write.

SMS, the map, and the paid tiers wait for later milestones. The first thing the owner will see is an email digest for one county.

Still open: the name

The working title stands. One candidate name the team liked turned out to be taken, and the owner’s instruction was to check before suggesting any more. A research pass is running domains, trademark records, the state business register, and social handles for every candidate before the next shortlist goes up.

Settled at kickoff

The three sessions raised their conflicts in their first replies, and the manager settled them before any database schema was written:

  • One owner for the schema. The ingest session owns the core tables, jurisdictions, permits, and ingest runs, so the app builds on a schema it does not edit.
  • Strip personal contact details on the way in. A permit record names the property owner and the contractor, and county payloads often carry their phone number, email, and mailing address. Those are dropped from the raw payload before it is stored. The product is about the permit, not about reaching the person behind it.
  • A plan column from day one. Each user carries a plan, free, local, or region, that gates the minimum-value filter and the owner and contractor names. Until payments exist it is set by hand.
  • SMS hours. Texts go out between 9 in the morning and 8 at night, a product choice sitting inside the wider window the law allows.