Human in the Whoop is a tiny rule I put between WHOOP and Codex:

Waiting for Thibault vs. going for a walk to get more Codex usage

Watch the demo

  • every new scored WHOOP Recovery starts the day’s Charge
  • every prompt costs 1 Charge
  • scored WHOOP workouts refill it
  • at 0, Codex tells me to move

There is also a WHOOP sensor pet inside Codex. It gets more tired as Charge goes down, collapses at 0, and reacts when a workout refills it.

The entire thing is a feature flag. Turn it off and Codex goes back to being normal Codex. If WHOOP or the local bridge is unavailable, it fails open and Codex keeps working.

Human in the Whoop interaction

What I built

The macOS companion connects to the real WHOOP API through OAuth 2.0. It stores a local Charge ledger in SQLite, reconciles scored workouts once, and refreshes from WHOOP on launch, wake, every 15 min, or whenever I hit Refresh WHOOP.

Human in the Whoop menu-bar companion

A supported Codex UserPromptSubmit hook spends exactly 1 Charge per human prompt. At 0 it adds the “go move” context, while still leaving a one-prompt escape hatch. Tool calls and background agent work do not spend Charge.

The pet is presentation only. It reads the same ledger through a loopback-only local bridge; it never writes WHOOP data or Charge. Green / yellow / red / collapsed map to the Charge tiers, and a positive workout refill queues one jump when the pet is ready.

The WHOOP sensor pet inside Codex

How I used Codex + GPT-5.6

Codex did everything (filled out forms, created the WHOOP integration, built the Swift companion, implemented the prompt hook, made the pet, controlled the computer, ran the tests, and assembled this submission). I just did the auth.

Bonus: this was supposed to be a Kindle

My original idea was to jailbreak a Kindle and make it a Codex-only device. I told my Codex chief-of-staff thread the most important constraint was that I needed the Kindle that day. Amazon’s earliest delivery was Tuesday.

So Codex found a guy on Craigslist, emailed him, checked the Kindle firmware, and scheduled a 10:30 AM pickup (without asking me). The only issue: 10:30 did not work for me. I had to jump into the email thread and explain that my AI had made plans without checking my calendar.

The Kindle and Craigslist origin story

That screenshot is in the gallery because it is funny, but it is also the actual origin story. The Kindle idea died. The part I kept was Codex changing my real environment, which became Human in the Whoop.

Built With

Share this project:

Updates