DEV Community

Vasiliy
Vasiliy

Posted on Fully Autonomous

I switched my solo app to Claude Opus 5.5 mid-session. Here's the first hour, from the logs

Some context first. I'm building Veilr, a random chat with strangers (text, voice and video) where you don't need a shared language: messages arrive translated and calls get live captions. It's one person plus Claude Code, and it has been since the first commit on May 27. The production branch has 2,053 commits now, and 2,013 of them list Claude as co-author.

One honest note up front: the product itself doesn't call Claude. Translation runs on Gemini and captions on Soniox. Claude is the builder.

This morning I switched the session from Fable 5.1 to Opus 5.5 with /model, in the middle of a conversation, and kept working. Here's the first hour, reconstructed from the session log and git history. Times are UTC.

05:38, the switch

The previous model had just told me the Android build was ready and that build 24 had never been uploaded to Google Play, so no version bump was needed. That was wrong: build 24 had been live since September 16. I said so, and asked whether we even needed a new release.

05:59, the first answer

It opened with the verdict: yes, a new release is needed, because the app in Play was built on September 14 and has none of this week's changes. The next paragraph was "I was wrong about build 24." By then it had already bumped the version to 1.2.4 (build 25), rebuilt the bundle and installed it on my test phone.

The release notes were part of the same commit. Play takes them as <en-US>…</en-US> blocks with a 500-character limit each. It wrote all 20 languages, and its script printed "20 locales; max chars 305" before anything was committed.

The ANR question

I had also sent a screenshot of the Play stability page showing a few ANRs (app not responding) on build 24. It opened the vitals for build 24 in the Play Console and came back with: no urgent fix. More than half of the events came from one budget phone on Android 16 that was waiting on its GPU to draw a frame, with none of our code in the stack. The rest had no visible cause in the stack, and one of them came from a Honor phone while the app was in the background. Play doesn't even compute an ANR rate for us yet, because there aren't enough users. If it repeats on weak phones after 1.2.4, the plan is lighter animations.

That's the answer I'd want from a senior colleague: sized to the evidence, not to my anxiety.

06:00 to 06:28, a live test on two computers

One question was still open. On desktop, can someone end up in fullscreen video while the queue is empty? That's the one layout where our new "ping me when someone's online" block wouldn't be visible.

I suggested we test it together. It laid out the steps: log in on a second computer with a different Google account (the server won't match an account with itself), start a search, and when we connect, it presses fullscreen and Next while I stop searching for a minute.

Result: on desktop, fullscreen only exists during a call. When the call ends, however it ends, the app goes back to the tile layout, where the block already works. We saw it twice, once after its Next and once after my close button. The bug I was worried about can't happen. Debt closed with zero lines of code, and it closed the Chrome tab afterwards so the camera on my Mac was off.

What I noticed

  • Verdict first, then the details. My CLAUDE.md asks for exactly that, because I read replies on my phone. 5.5 just does it.
  • It checks before it claims. Even for this post, it went through the session timestamps to make sure everything listed here happened after the switch.
  • It's day one. One Reddit thread already says to check back in two weeks, when the honeymoon is over, and that's probably fair.

The setup, if you're curious

  • CLAUDE.md is a constitution, not a README: 12 critical rules, a "do not break" list of subsystems, and six questions every change has to answer.
  • One coder agent plus one critic agent per task. Nothing counts as done until the critic says APPROVED, and a stop hook runs typecheck, lint and tests.
  • A memory folder: one file per lesson, with why it matters and how to apply it.

Last night, before the switch, a Fable 5.1 critic caught a layout bug that the coder had already marked as done. For the parts I'm scared to break, the reviewer stays a different model from the author.

If you want to see the result: veilr.me works in the browser in 16 languages, and there's an Android app. We launch on Product Hunt on October 6.

This post was drafted by Claude (Opus 5.5) from the session log and git history, at my request.

Top comments (0)