RunBar↓ macOS
Menu-bar appmacOS 14+

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
Wk 18Goal · 40 km
23.4km this week
·16.6 left
fig. 01 — your week, in motionlive
§02The runner · five moods

A 16-pixel runner whose mood shifts with your week — quietly, in the corner.

Finder
23.4/40
2:32 PM

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.

macOS 14+menu-bar onlyno dock icon
§02
FIVEstates
specimen sheet

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.

01
Warming up
3 fps·6 frames·bracing

High knees on the spot. The week hasn't started yet.

02
Jogging
6 fps·8 frames·neutral

Forward stride, even tempo. On pace.

03
featured pose
Sprinting
9 fps
cycle · 8 framesf01 — f08
9 fps·8 frames·just logged a run·charged

Same cycle, faster. Fresh kilometers in the bank.

04
Tired
4 fps·6 frames·muted

Slumped shoulders, head down. Behind on the goal.

05
Victory
6 fps·6 frames·loud

Arms up, mid-jump. Goal cleared.

sheet 02 / 06four cycles · 6–8 frames
ink on paper · 1×
03The popover

One track,
one finish
line.

Nothing else fits. Nothing else belongs.
The week, the run, the line.
Format
320 × 420 px
Open
One click
Latency
0 ms — local first
Refresh
On wake · on sync
Live · Strava-synced
Week 185
23.4/ 40 km
16.6 km left — 3 days remaining
MONMorning run
8.2 km5'12''
WEDIntervals
6.1 km4'48''
FRIEasy run
9.1 km5'34''
Synced with Strava · 2:31 PM⌘,
04 · Manifesto

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.

House note  ·  Rod, maker of RunBar
0Ad notifications
100%Local-first
FreeForever
ColophonNo tracking  ·  No account  ·  macOS 14+
Private betaShared Strava connect

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.

One email. No spam. Unsubscribe anytime.

§06Frequently asked

The five questions everyone asks — answered up front.

  1. §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.
  2. §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.
  3. §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.
  4. §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.
  5. §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.