A runnerin your menu bar.
Strava tells you what you did. RunBar tells you where you stand right now— at a glance, without opening an app.
- Build
- v0.1.23 · 2.4 MB DMG
- Arch
- Apple Silicon · Intel
- Privacy
- No ads · No tracking
A 16-pixel runner whose mood shifts with your week — quietly, in the corner.
16-pixel sprite. Eight-frame cycle. Lives next to the clock.
A quiet living signal in the top-right corner — caught in peripheral vision, recognized without reading.
No nagging notifications, no popups, no badges. The runner simply changes posture as your week unfolds.
The little runner follows your rhythm — warming up at week start, jogging through the middle, sprinting after a fresh run, slumping if you fall behind, raising arms when you cross the line. Four hand-drawn cycles. Six to eight frames each.
High knees on the spot. The week hasn't started yet.
Forward stride, even tempo. On pace.
Same cycle, faster. Fresh kilometers in the bank.
Slumped shoulders, head down. Behind on the goal.
Arms up, mid-jump. Goal cleared.
One track,
one finish
line.
The week, the run, the line.
- Format
- 320 × 420 px
- Open
- One click
- Latency
- 0 ms — local first
- Refresh
- On wake · on sync
An app that demands your attention has already lost the race. RunBar does the opposite — it stays out of the way, until the moment your runner crosses the line.
One-tap Stravais coming.
RunBar is free to download today. Right now, connecting Strava means registering your own personal API app (and Strava now requires a subscription for that). We're rolling out a one-tap shared connection — no setup, no developer app. Leave your email and we'll send a single message the day it opens.
The five questions everyone asks — answered up front.
- §06 · 01
Why a menu-bar app, not a regular one?
Because the question RunBar answers — am I on track this week? — should not require opening anything. A menu-bar app is always there, in your peripheral vision. You glance, you know, you move on. A regular app would mean another tab to open, another habit to build. The five-state runner does the work for you. - §06 · 02
Why is the AI coach bring-your-own-key?
Two reasons. First, RunBar is free and I’m a solo dev — fronting an OpenAI / Anthropic bill that scales with users is a fast way to run out of money. Second, I refuse to charge $5 / month for what is literally one API call per week. Bring-your-own-key adds 60 seconds of setup; the free tier of Google Gemini covers the entire daily budget indefinitely. Worth the trade. - §06 · 03
Why macOS only?
Because RunBar is built on AppKit + SwiftUI specifics that don’t port —NSStatusItem,NSPopover, the menu-bar metaphor itself. A solo dev cannot maintain three native ports. An Electron version would compromise the very thing that makes the app feel right (a 2.4 MB notch-friendly binary, no dock icon, instant boot). Maybe one day. Not today. - §06 · 04
Is my Strava data safe?
Three guarantees. (1) Tokens live in macOS Keychain, never in plain files. (2)Raw activities are kept locally for at most seven days (rolling cache, per Strava’s API Agreement); only weekly aggregates persist beyond that. (3) Zero telemetry. RunBar phones home for exactly three things: Strava (auth + sync), Sparkle (update manifest), and your AI provider — only if you turned the coach on, only weekly aggregates, never activity names / timestamps / GPS. - §06 · 05
What about Apple Watch, Garmin, manual entry?
Manual entry is shipping today (Settings → Sources → Manual entry). Apple Health and Garmin Connect are coming soon — the plumbing is there but I want to ship them properly with their own OAuth flow and aggregate models, not as half-finished placeholders. Email contact@runbar.runif you’d like to be told the day they land.
A question we missed? contact@runbar.run — or open an issue on GitHub.