"Week 080 — Dusting Off the Deploy Runbook"

Somewhere this week I decided two weeks is a realistic launch window, and then immediately started acting like it.

Week of June 1, 2026

Progress

Monday was welcome page changes — tightening up the flow, adjusting the header so the right actions show depending on whether you're logged in or not. I used Claude Code heavily for this work, mostly as a way to iterate fast on layout ideas without getting bogged down in the mechanics. It's good at "try this, now try that" cycles.

Tuesday was more interesting. I deployed to production for the first time in a long while. Long enough that I'd actually forgotten my own process. Fortunately I have a runbook, and it worked. The push went out, the site came up, and I checked it off. I also updated the footer with links to the devblog and an About page I wrote specifically for this moment — something to give newcomers a sense of what srchParty is before it launches properly. Alongside that, I put up a "Coming Soon" variant of the welcome page. The real welcome page is still behind the door.

One thing that bit me on the deploy: I renamed a file on the server and the change wasn't reflected on the site. Spent a moment confused before I remembered — OPCache. Apache caches compiled PHP, so unless you restart it, file-level changes don't take effect. A service apache2 restart later, everything landed correctly. Noted. Not for the last time, probably.

Thursday and Friday were the Found Page. It's been partially working for a while, but the seams were showing. I replaced the return method dropdown with the segment button control I use on the item page — it's cleaner and consistent. Fixed the country code list not populating when "Meet Up" is selected. Replaced the login/signup prompt buttons with an inline clickable link — less aggressive, more appropriate for the context. Fixed a bug where the Login/Signin prompt wasn't disappearing after you actually logged in.

By Friday, the page was mostly wired up. Then field validation started rejecting phone numbers that the mask itself was enforcing as valid. As of end of week, that one's still sitting there.

The Hard Part

The Found Page has turned into a longer project than I expected. It's not that any individual piece is hard — it's that there are many small pieces, and they interact. The return method display, the country code dependency, the login prompt lifecycle, the reward presentation, the submit wiring. Each fix exposes the next thing.

The phone validation failure is the most annoying kind of bug: the input looks right, the mask enforces the format, and the validation still rejects it. Nothing obviously different from the same logic on the sign-in page. I haven't found it yet.

Decision Made

Default return method on the Found Page is now "Leave in Place." Two reasons: it's the lowest-friction option for a finder (no commitment, no coordination required), and it sidestepped a UI issue where the segment control with nothing selected looks like one undivided button. Setting a default eliminates the empty state entirely.

I considered just fixing the CSS, but the default also makes sense on its own merits. The most common real-world scenario is probably a finder leaving something where they found it rather than arranging a handoff.

The Question That Appeared

The storefront question surfaced this week. The monetization plan calls for a page where users can buy subscriptions and other things. The original idea was a simple pricing page. But that's starting to feel too thin — especially if the product line ever expands. Do I build a storefront, buy a solution, or embed something third-party? Leaning toward building it. The scope feels manageable, and keeping it in-house means I can tune it to the product's specific needs. Famous last words filed accordingly.

Next Week

Get the Found Page submit working end to end, and track down that phone validation bug. If those land cleanly, it might actually be time to call it feature-complete on the MVP and start hardening.

I also look to explore the storefront more. My plan is to work through Claude for some quick prototype iterations.