Inspiration

Developers can get stuck in a late-night “one more fix” loop. Offshift explores whether an AI-assisted workflow can also help someone step away-without judging them, reading their work, or taking control away.

What it does

Offshift is a macOS menu-bar companion that uses local aggregate active/idle timing and optional quiet hours to offer a break at the right moment. Its full-screen care screen offers clear choices: take five minutes, pause until tomorrow, use a short on-call exception, or turn Offshift off. It never closes work or reads code or screen content.

How we built it

I built the macOS app in SwiftUI/AppKit, with a ChatGPT Apps SDK/MCP companion layer. Codex with GPT-5.6 accelerated the architecture, implementation, testing, debugging, UX iteration, documentation, CI and packaging.

Challenges we ran into

The key challenge was making the care screen noticeable without trapping the user. We debugged real focus, keyboard, tray-menu, and SwiftUI/AppKit state-loop issues, then added diagnostics, regression tests, an emergency Escape exit, and idempotent presentation logic.

Accomplishments that we're proud of

  • A working local-first macOS prototype with a tested full-screen intervention.
  • Explicit privacy boundaries: no source-code reading, screen capture, camera analysis, or fatigue diagnosis.
  • Consent-gated local Lock Screen and allowlisted smart-home paths.
  • Public repository, CI, and packaged DMG.

What we learned

Trust is the product: interventions must be explainable, reversible, local-first, and technically reliable. We also learned that Codex is most valuable as an engineering collaborator-not only for writing code, but for debugging, testing, and refining decisions.

What's next for Offshift

I will run a private pilot if anyone will use app , improve the Apps SDK mini app, validate thresholds with developers, and explore native Screen Time integration only through the appropriate Apple entitlement and privacy workstream.

Built With

  • codex
  • gpt-5.6
Share this project:

Updates