Field Notes · The Build Log

Building Plunkx in public

A weekly review, posted most Fridays. What we ship, what breaks, and why we change our minds — building the foundation the dive industry gets to stand on.

Week 18Friday, Jul 3

A softphone, an assistant, and six months in

The shop phone system, inside the app. A native AI assistant. A whole website built end to end by machine. And a look back at half a year.

APIPOS appAIAutonomy
Week 17Friday, Jun 26

Commerce goes live-adjacent

A real payments engine - deposits, installments, refunds, store credit - and a bridge to pay a year of legacy invoices through the new system.

APIMars Scuba appCommerce
Week 16Friday, Jun 19

Admitting the API needed a rewrite

When your own API is misinforming you, it is time. We started v2 and began strangling v1 - plus a catalog rebuilt from the source.

APICatalogPOS v2Plugin
Week 15Friday, Jun 12

The POS app, and Brand Manager

A native point-of-sale for shop staff - and the week the platform stopped being only about one dive shop.

POS appAPIBrand Manager
Week 14Friday, Jun 5

Real payments, and rows that vanished

Native in-app checkout - and a tenancy bug where rows silently disappeared the moment we turned on the security meant to protect them.

Mars Scuba appiOS appAPISecurity
Week 13Friday, May 29

The Merge

Five apps became one. We ripped auth out mid-flight, and a single environment variable held a login loop hostage for a morning.

Mars Scuba appAPIPlatform
Week 12Friday, May 22

An AI door, and a watchtower

An MCP server so an agent can actually do things - and monitors that drive the real product, not just ping a URL.

APIAIStatus
Week 11Friday, May 15

Roles that provision themselves

Flip a flag on, and the platform creates the profile rows and texts the person to tell them.

APILoginiOS app
Week 10Friday, May 8

Firebase, gear lockers, and the service desk

The heaviest week of the spring. Three hard things at once - and a Bluetooth bug that ate an evening.

APILoginiOS appAuth
Week 9Friday, May 1

The API is born

From a commit named "First Push" to a real /v1 surface in five days. The platform started eating its parents.

APITravelPlatform
Week 8Friday, Apr 24

Two products in one week

Ambitious to the point of reckless: the customer iOS app got its first commit and the site grew a real enrollment wizard, in the same seven days.

iOS appMars Scuba siteLogin
Week 7Friday, Apr 17

The tenant database

The most important week of the spring, and it is only three commits, because the important part was a decision.

LoginMars Scuba siteMulti-tenant
Week 6Friday, Apr 3

Supabase had to go

Convenience stopped being worth the ceiling. So we tore the store off Supabase and put it on Postgres.

LoginMars Scuba siteDatabase
Week 5Friday, Mar 27

One commit

Sometimes the honest weekly review is: thought hard, typed little.

Login
Week 4Friday, Mar 20

Login gets its own house

The moment you decide accounts are their own service, you have quietly admitted you are building a platform.

LoginArchitecture
Week 3Friday, Mar 13

Photos and formatting

Not every week is a milestone, and I am not going to pretend this one was.

Mars Scuba site
Week 2Friday, Mar 6

The recruiting funnel

A whole week on one page - "Become a Pro" - and the first time the project touched a real database.

Mars Scuba siteDatabase
Week 1Friday, Feb 27

Week one

Every big system starts as a small, embarrassing one. This week that is a public programs page for a single dive shop.

Mars Scuba siteGenesis
ManifestoThe mission

The foundation dive shops deserve

Dive centers run the most demanding retail-plus-service-plus-education business on earth on a Frankenstein stack of six disconnected tools. We are here to replace all of it with one.

ManifestoWhy
© 2026 Plunkx · Dive Center Operating SystemBook a Demo →