A minimal F1 dashboard + desktop widgets for macOS. Shows the next Grand Prix, full session schedule in your local time, driver and constructor standings, and per-race Race/Qualifying/Sprint results. Built natively with SwiftUI + WidgetKit. Data from the jolpica-f1 API (Ergast-compatible). Track outlines come from the bacinger/f1-circuits MIT-licensed GeoJSON dataset.
- Schedule tab — Hero card with country gradient, satellite Map (MapKit) + accurate track outline rendered from GeoJSON, full session list and live countdown to the next session.
- Results tab — Every completed race of the current season; tap a card to load Race / Qualifying / Sprint results on demand. Gold / silver / bronze pills for top-3 finishers, real team color stripes.
- Standings tab — WDC and WCC tables with real team logos.
- Small — flag + Round chip + GP name + track outline + live countdown.
- Medium — two-column layout: track outline on the left, session times on the right + next-session countdown.
- Large — full dashboard: track + sessions + WDC top 5 with team logos.
- Country-themed gradient background (per host nation).
- Always-visible F1 icon in the menu bar.
- Click → popover with the next weekend, live countdown, and the full session list.
- Quick actions: Refresh, Open App, Quit.
- Local banner notifications fire shortly before each session (works on lock screen too).
- Choose lead time (5 / 10 / 15 / 30 / 60 min) and which sessions to be alerted for (All / Quali + Race / Race only).
- Toggle the menu bar icon and its countdown text.
- Toggle notifications, lead time, and session filter.
- Driver numbers are shown in the team color throughout the dashboard.
- macOS 26.3 or later
- Apple Silicon or Intel (universal binary)
- Download
F1Widget.dmgfrom the latest release. - Open the DMG and drag F1Widget onto the Applications shortcut.
- Eject the DMG.
This app is not signed with an Apple Developer ID (adhoc-signed). macOS will refuse to open it by default. Use one of:
Option 1 — Terminal (fastest):
xattr -dr com.apple.quarantine /Applications/F1Widget.appOption 2 — System Settings:
- Double-click F1Widget once and dismiss the warning.
- Open System Settings → Privacy & Security.
- Scroll to Security, click Open Anyway next to "F1Widget was blocked from use".
- Run F1Widget once, then quit it (⌘Q).
- Right-click the Desktop → Edit Widgets (or click the menu-bar date/time → Edit Widgets).
- Search F1. Drag F1 Schedule (Small / Medium / Large) onto the Desktop.
If the widget doesn't appear, run in Terminal:
killall chronod && killall NotificationCenterOpen F1Widget.xcodeproj in Xcode (26.3+). Both targets (F1Widget and F1WidgetExtension) must have App Sandbox → Outgoing Connections (Client) enabled for network access.
- The app fetches public F1 schedule and standings data from
api.jolpi.caand track GeoJSON fromraw.githubusercontent.com. - Team logos and the satellite map are loaded from local bundled assets / Apple Maps.
- No analytics, no tracking, no accounts.
- F1 schedule and results data: jolpica-f1
- Circuit outlines: bacinger/f1-circuits (MIT)
- Team logos: formula1.com (Mercedes, Ferrari, Red Bull, McLaren, Aston Martin, Alpine, Williams, Haas, Kick Sauber, Racing Bulls) and Wikimedia Commons (Audi, Cadillac F1 Team).
- Built with SwiftUI, WidgetKit and MapKit.
MIT — see LICENSE.
