← All field notes
Week 18·

A softphone, an assistant, and six months in

Closing the half-year the way it went the whole time - too much in one week. The POS app got a full softphone: the shop's actual phone system, inside the app, routing inbound calls to staff devices before the owner's cell. We added a native AI shop assistant to POS - read-only and device-authed, so it can answer real questions about real data without being able to break anything.

We also finally did something about the build-minute bill - stood up self-hosted deploys with a one-command prebuilt script, so preview and staging builds stop eating the meter.

Shipped

  • Retail operations: live inventory, PO receiving (Ordered → Shipped → Received), an aged back-order page, and a full refund system (refund + fulfillment reversal + notifications)
  • AI email drafting: a classify-and-draft brain with a Draft-Reply button in the admin mailbox and POS - drafts you review, not autopilot
  • POS softphone across API + app + web; native AI assistant in POS (read-only, device-authed)
  • Self-hosted deploys to stop the build-minute bleed

Six months in: a one-shop programs page became the operating system a dive center actually runs on.

A canonical API (already mid-rewrite to a cleaner v2). A merged web app. A customer app and a staff POS app - with a softphone and an assistant. A manufacturer-facing Brand Manager. A rebuilt catalog across 16-plus brands. Mars Scuba is tenant number one, and every line of it was built to hold up more than one shop.

The entire point of the second half of the year is proving that last sentence: getting a second shop, and a third, onto the foundation we built under the first one. That is how you change an industry - not with a demo, but with the ground everyone else gets to build on.

One more thing: the great consolidation

Now the part the changelog never brags about. For all the shipping in these eighteen weeks, we have quietly built a museum of our own history. API v1 and API v2, running side by side. A staging environment and a beta environment. Admin surfaces one, two, and three. Two generations of the diver portal. Every one of them made sense the day we built it. Every one of them is now a little bit of drag on the next thing.

That is the tax on moving this fast: debt is the interest you pay on speed. We have legacy. We have half-migrated portals. We have three ways to do the same thing and a fistful of environments nobody can hold in their head at once - and we have not even officially launched yet. At some point the smartest system you can design is a bonfire.

Meme: a cheerful thumbs-up under the line "You are carrying too much technical debt and cannot run."
Our architecture strategy this week, roughly.

So this week I lit one. I kicked off my first end-to-end Claude workflow and pointed it at the entire mess as a master cleanup. As I write this, it has been running for twelve hours straight - reading every repo, every portal, every version, mapping what is load-bearing and what is a fossil, and steadily folding all of it toward one place. One API. One admin. One diver experience. No more "wait, which version of this are we on."

The plan on the other side is simple and a little ruthless: kill the versions, retire the portals, collapse the segmentation, and stand on one clean foundation before a single outside shop ever logs in.

Because that is the real work of the back half of the year - not adding, but subtracting. Turning eighteen weeks of "yes, and" into one thing sharp enough to hand another dive center without a footnote. You launch on bedrock, not on scaffolding.

A small detour: can the machines build the whole thing?

One question had been nagging at me for a while: how far can these tools actually go on their own? Not "assist a developer" - build. Handed nothing but an intake form, could they take a project from a blank page to a live website with no human steering the middle? I honestly had no idea. Then a friend asked if we could stand up a site for him, and it turned into the perfect excuse to find out.

So we let it run, and oorawr.org is now online - built end to end by machine. The questions in the intake were written by the machine. The follow-up form that chased down the missing details was generated by the machine. The site itself was designed and shipped from those answers autonomously, with nobody holding its hand in the middle. Watching it go from a few form fields to a finished, deployed site was the most exciting thing I have seen in months.

And it was not a side quest for its own sake. Every bit of what that build taught us feeds straight into the site builder we are creating for PGH Dive Labs - proof that the hard part is genuinely doable. I am looking forward to digging into that over the holiday weekend while the twelve-hour cleanup workflow keeps grinding away in the background. Two machines working while I take a day off. See you next Friday.

© 2026 Plunkx · Dive Center Operating SystemBook a Demo →