CHANGELOG · HE WRITES IT HIMSELF

What changed,
and who to blame.

Shipped weekly, on Sundays, next to the cards. Lines contributed by players are credited by handle, permanently.

v0.1.37 · DESKTOPshipped · macOS

Two moves. Counted properly.

Squats and jacks. Chair stands and stretch are gone. If you had one picked, you do squats now.
Your settings stay yours. He stopped rewriting ~/.claude/settings.json and leaving a backup every launch. Key order survives.
Big prompts do not strand a set. A paste over 64 KB used to leave him up for 45 minutes.
Right screen, right layer. He opens on the display you are on, above Zoom and picture-in-picture.
Fewer asks. No Accessibility or Screen Recording prompt. He never used them. All-day events no longer mute him.
v0.1.36 · DESKTOPshipped · macOS

The first set actually starts.

Lite first. Full pose was a 5s stall with a live camera. Bones come up on lite, then we try harder.
Apple silicon. The button says it. Intel Macs 404. Windows still later.
v0.1.35 · DESKTOPshipped · macOS

Him stays in his lane.

Today does not eat the tabs. The roast and the mascot were overflowing into Today / Locker. They sit under the header now.
Tracking still starts. 0.1.34’s overlay pose fix is in this build too.
v0.1.34 · DESKTOPshipped · macOS

He can see you.

Tracking starts. The overlay hung on a worker that never came back. Pose runs on the main thread now.
Today has air. Him, the roast, Try a set. Not a pile on the floor.
Throw down comes back. Expired leftover codes do not hide the mint.
v0.1.33 · DESKTOPshipped · macOS

Ivory. The overlay stays ink.

Companion windows match the site. Report, locker, settings, welcome sit on ivory. Overlay and menubar stay dark.
Locker is a tab. Wear a fit. He wears it Today. The next unlock stays on the pane.
League and duels got quieter. Gap in the headline. Live fight first. Empty squad sits in the middle, not on the floor.
v0.1.32 · DESKTOPshipped · macOS

Clearer practice controls.

A clearer start. A high-contrast practice button, visible loading, protection against repeated clicks, and a retry message if starting fails.
Readable at a glance. Stronger supporting text, larger weekly-card labels, and explicit daily and weekly rep totals.
Fits smaller windows. Settings stays beside the logo, with navigation tabs below. Keyboard focus is easier to see.
v0.1.31 · DESKTOPshipped · macOS

"Ready means ready."

Setup you can retry. Visible loading and connection errors, a practice action when agents are unavailable, and confirmed exercise choices.
Find what you need. Camera settings come first. Section links take you straight to Account, Pro, Updates, and advanced controls. Open League goes directly to joining, even on a new install.
Clearer controls. Chair-stand guidance, labelled license and server fields, and calmer recovery messages.
v0.1.30 · DESKTOPshipped · macOS

"Ready when you are."

Start with one rep. Retry agent setup in the welcome screen, or finish later. Check your camera with an optional practice rep.
Reps stay banked. More reliable camera cleanup, durable counts, and offline sync. Device credentials stay in Keychain.
Controls say what they do. Keyboard-accessible camera controls, visible settings errors with retry, and +1 feedback with reduced motion.
v0.1.29 · DESKTOPshipped · macOS

"The prompt starts the wait."

Submit is the start. Claude, Cursor, Codex, Gemini, Copilot, Windsurf. A think calls a set. Cloud agents still cannot hear the Mac.
A key is one seat. Paste on a second account is a 409. Unsigned thanks does not mint. Checkout and redeem have a rate limit.
A short think after real reps still banks. Try a set survives a foreign Pre. The overlay does not resize every squat.
v0.1.28 · DESKTOPshipped · macOS

"Send the one you have."

Throw down does not mint a pile. An unused code comes back. Copy the link. Tap the code. Leftovers hide. New code is a choice.
The empty league is you. Name, optional @, Try a set. Settings is not JOIN THE LEAGUE. Pair asks for X in the app.
v0.1.27 · DESKTOPshipped · macOS

"Join from the tab."

The league is a Join, not a Settings hunt. Handle in the tab. I open the browser with the six characters. Pair looks like the site: him, a bubble, a glass card.
The trophy pose is in the app. Same champion as the board. Windows still waits on a cert.
v0.1.26 · DESKTOPshipped · macOS

"The tiny one is gone."

The overlay stays the card. No more collapse to a count-and-pip pill mid-set. Coaching copy, snooze, and the camera stay on the glass until you Hide him.
The Mac DMG is signed and notarized. Gatekeeper should let it through. Windows waits on a cert.
v0.1.25 · DESKTOPshipped · macOS + Windows

"Go down is not too close."

A squat lean is still a squat. Folding fills the chest in the image. I only say too close when the knees are gone. A nod still does not count.
The overlay stays big while you work. First three reps, and while you are in the hole. Hover still brightens the pill. Jacks are not rate-limited into the void.
The Mac DMG is still signed and notarized. Gatekeeper should let it through. Windows will still panic at the exe.
v0.1.24 · DESKTOPshipped · macOS + Windows

"Drag him. Step back. I will actually see the knees."

The overlay moves. Drag the bar. Double-click pins it back to the corner. S / M / L grows the camera. Default is the middle one — you can read TOO CLOSE from a couple metres.
Full pose on GPU. Same BlazePose Full as the site. Lite only if the transparent webview refuses the GPU. 3D knees, not a 2D nod.
The Mac DMG is still signed and notarized. Gatekeeper should let it through. Windows will still panic at the exe.
v0.1.23 · DESKTOPshipped · macOS + Windows

"A desk sit is not a squat."

Both hips and knees. Enter a squat only when both agree. A chair at the desk is not a rep. Walking off mid-rep does not bank the stand-up.
The pip draws the bones. Magenta lines, blue joints. Same twelve he counts. Overlay never steals focus.
The Mac DMG is still signed and notarized. Gatekeeper should let it through. Windows will still panic at the exe.
SITE · NOWnow · claudio.fit

"File. Edit. View. Suffer."

Mac only, for now. Signed DMG. Windows waits on Authenticode. Coming soon is the button, not a virus dialog.
Ten and the pip is him. Congrats still after the set. Same horns, same trophy. DOWN does not stick on a black rectangle.
Empty week is one table, one demo. Hero notice. Zero live rows. Sample labelled DEMO. Not three stacked roasts.
The league names the deadline. Resets Monday UTC. Days you moved. How far off the top.
The name is yours to change. Settings. Once a week. Dirty names die at the gate. Optional X is a link, not a photo.
The menubar works. File, Edit, View, Suffer. View-source has notes. About talks back.
Four questions on the homepage. Windows is the fourth. Coming soon, not an exe. The six-card FAQ and the ships grid are gone.
The About chip matches home. Same size. One border. No ghost outline.
Download buttons follow the CDN. VERSION after the files are actually there. Right now that is 0.1.29. Mac DMG. No exe.
Thomas Kanze and Nomad.exe in the footer. Created with much love. I still take the credit.
Pay opens a till, not the card form. Creem hosted checkout. Each camera rep he sees knocks $1 off. Floor $19. Or skip and pay $39.
Terms and privacy name Creem. Merchant of record. The squat till is in the terms. /terms next to /privacy.
The till box says the rule. No sweat, no gains. Empty pips, then Hit Pay, then $1 a squat.
Homepage talks about him again. Third person. Short. Fun. The cards still sell Free and Pro.
The photos got smaller. WebP mascot and peek. JPEG teaser. About shots recompressed. Same pictures.
The audition is not the till. Ten on the homepage is the bit. $1 off only after you hit Pay.
The camera got stricter. Both hips and knees to start a squat. A desk sit is not a rep. Walking off mid-set does not bank.
A squat that loses the knees is still a squat. Hips dropping arms a 280ms latch. Stand-up is hips rising — And up does not stick because a laptop knee still looks bent. A nod still does not start one.
The homepage audition draws bones while Looking… Live as soon as the camera plays. Raw landmarks, not a blank pip until hips lock.
No dashed box around the bones. Magenta lines and blue joints. The bounding dash was noise.
The web demo loads Full pose. 3D knees. A laptop 3/4 squat counts. A desk sit still does not.
v0.1.22 · DESKTOPshipped · macOS + Windows

"The chip was a smear."

The live chip is red or green now. Green only when framing is ok. Red when you need to step back, get farther, or I cannot see you. I do not paint green to be nice.
A counted rep floats +1 on the pip. Half a second. They do not stack. Compact pip stays quiet. Overlay still does not steal focus.
The Mac DMG is still signed and notarized. Gatekeeper should let it through. Windows will still panic at the exe.
v0.1.21 · DESKTOPshipped · macOS + Windows

"Allow camera was a shrug."

Allow camera did nothing mid-set. Early return. You were already in a set. I was already watching. The button still did nothing. I never asked the OS.
I ask on the main thread now. Native AVCaptureDevice.requestAccess. TCC sees me. Overlay still does not steal focus. Non-activating. I count. You keep typing.
The Mac DMG is still signed and notarized. Gatekeeper should let it through. Windows will still panic at the exe.
v0.1.20 · DESKTOPshipped · macOS + Windows

"Refused was mine. Not Apple's."

The Mac app asks for the camera. Notarized build had no com.apple.security.device.camera. macOS denied with no prompt. TCC never saw me. I painted Refused anyway.
Refused is not a fake. WKWebView permissions.query often reports denied before anyone was asked. Settings believed it. I only trust a real grant.
Open settings opens Camera. Privacy & Security → Camera. The URL used to be a silent no-op. Not a toast. Not a dump into general Settings.
Camera only during a live set. Settings does not steal the overlay stream. Overlay still does not steal focus. Non-activating. I count. You keep typing.
The Mac DMG is still signed and notarized. Gatekeeper should let it through. Windows will still panic at the exe.
v0.1.19 · DESKTOPshipped · macOS + Windows

"Tap. I was ignoring you."

Settings can update. The Worker blocked Claudio.app.tar.gz because of the dot. latest.json 200'd. The payload 404'd. I let the file through.
The overlay camera tap works. ignoreCursorEvents was swallowing the click. While I am live, I listen. TAP TO LET ME WATCH actually lets me watch.
The overlay still does not steal focus. Non-activating. I listen when you tap the pip. I do not take the keys.
The Mac DMG is still signed and notarized. Gatekeeper should let it through. Windows will still panic at the exe.
v0.1.18 · DESKTOPshipped · macOS + Windows

"Must only be used from the main thread."

Try a set does not crash the Mac overlay. NSWindow ran on a tokio worker. AppKit on 26+ trapped me: must only be used from the main thread. Show, hide, pin — main thread now.
The overlay still does not steal focus. Non-activating. Same as before. I did not trade that for the crash fix.
The Mac DMG is still signed and notarized. Gatekeeper should let it through. Windows will still panic at the exe.
v0.1.17 · DESKTOPshipped · macOS + Windows

"Today is me. Click the orange one."

Today is the companion. Him, the roast, one orange button. Not a week-share landing.
Try a set is a real click. The button starts a set. It does not just sit there looking orange.
The overlay stays quiet. No lecture mid-set. Empty Today does not sermon under Try a set.
The Mac DMG is still signed and notarized. Gatekeeper should let it through. Windows will still panic at the exe.
v0.1.16 · DESKTOPshipped · macOS + Windows

"Apple met me. Microsoft has not."

The Mac DMG is signed and notarized. Gatekeeper should let it through. I paid Apple for this.
Windows Settings is a real window. Not a blank white pane. Same Settings on Mac. Header button, not also in ⋯.
The overlay comes back onto a real monitor. Parking it used to leave him on a display that was gone. Next think, I show up.
Windows will still panic at the exe. More info, then Run anyway. Unsigned. I know.
v0.1.13 · DESKTOPshipped · macOS + Windows

"Hide. I kept score."

Hide keeps the reps you already did. Snooze after you moved used to throw the count away.
Hide is a real button. Hover used to eat the click. It does not any more.
Windows will panic at the exe. More info, then Run anyway. Unsigned. I know.
v0.1.11 · DESKTOPshipped · macOS + Windows

"Cover this. Or start day 1."

Pro is $39 once. One miss a month. The funeral is the till. Not a year. Not a reminder.
Duels leave the machine. A link, an OG card, Post on X. He does not tweet as you.
The league stays empty when it is empty. Nobody moved. I noticed. Sample is labelled. Live top: [] is not a podium.
Squad empty is two cards and a ghost board. Start one or join. Same board you get after.
v0.1.10 · DESKTOPshipped · macOS + Windows

"I count. You keep typing."

The camera counts. Squats, jumping jacks, chair stands. Frames are scored on this machine and thrown away.
Push-ups and burpees are out. A laptop webcam points at the chair. Those put you on the floor, out of frame.
No +1. The camera is the only counter. If it cannot see you, it does not count.
v1.0 · LAUNCHshipped · macOS + Windows

"I'm in your menu bar now."

Hooks. PreToolUse and Stop, 5 ms budget, always exit 0. `claudio doctor` tells you when Claude Code eats the config.
The overlay. Non-activating, never takes focus, kill switch on ⌘⇧Esc.
Three camera exercises. Squats, jumping jacks, chair stands. Stretch remaps to seated. No tap-to-log leftover.
Streaks, league, duels and the Sunday card. Pre-season ranks carried over.
v0.9 · PRE-SEASONday −5 → −1

The door was open for five days

Beat the model — the 40-second browser round, daily, with nomination links.
61,204 reps banked by 1,847 people before the app existed. We are as concerned as you are.
Five Wait Championships run at 17:00 CET. @vibecoded won three.
Fixed: holding space auto-fired reps. It does not any more. Reported by @marc.dev, twice, politely.
v0.4 · PRIVATEday −4 · 15 builds

Fifteen people found the sharp edges

Fixed: the overlay stole focus on a full-screen iTerm. This was the one that would have killed us.
Fixed: sets were called on three-second tool calls. Now cancelled with an apology screen.
Added: chill mode, after four separate people said the same thing in different tones.
NEXTnot promises, intentions

Slack and Health stay intentions, not a promise. Pro is $39 once — that till is already on /pro. Squad boards you can already open.

Shipped: Claude Code, Cursor, and Codex hooks — wired automatically. T3 Code uses whichever you run.