RunHub is an iOS training companion that syncs with Strava, tracks your zone performance over time, discovers local races, and helps generate and import AI-powered training plans, all in a single interface built for runners.
Five purpose-built screens — Dashboard, Schedule, Performance, Gear, and Discover — connected by Strava sync and driven by your real training data.
Weekly miles, YTD totals, average pace, runs per week, all auto-calculated from your Strava data. Reorderable stat cards, a day-by-day activity strip, and a weekly mileage bar chart give you instant clarity on your training load.
Weekly and monthly calendar views with full event management. Add workouts, races, trips (with automatic flight-day detection), and rest days. See Strava activities overlaid in green alongside your planned events.
Track how your pace improves within each heart rate zone over time. RunHub filters your runs by HR zone (with ±8 bpm tolerance), plots weekly averages, and highlights your trend, showing real aerobic fitness gains that pace alone can't capture.
A map-based race finder with 20000+ races, color-coded by distance. Search by city, filter by 5K through Ultra, set date ranges, and adjust your search radius. Tap any pin for race details, registration links, and one-tap calendar import. Jump into a race on your weekend trip wherever you are.
A 4-step guided flow that assists in generating and importing a personalized training. Choose your race distance, set a goal time, pick training days, and optionally include your recent mileage and pace data. Chat GPT, Claude, Gemini, or your AI of choice will return a compatible file based on the prompt for easy importing into RunHub. Review every workout, toggle individual sessions on or off, then import the entire plan to your schedule with one tap.
Browse 50+ running shoes with expert scores, category tags, weight, drop, and pricing. Filter by category (Daily, Tempo, Race, Trail, Recovery), sort by rating, and organize into Owned, Wishlist, and Shopping tabs to manage your rotation.
RunHub started as a Google Sheets dashboard. A manual tracker where I logged weekly mileage, heart rate zones, race goals, and personal records by hand. It worked, but it was tedious: copy-pasting Strava data, manually calculating zone paces, and scrolling through rows to spot trends.
I wanted something that did it all automatically. Something that synced with Strava, showed me whether my Zone 2 pace was actually improving, helped me find local races, and could generate a real training plan based on my fitness, not a generic 16-week template.
So I built RunHub. Flutter for the frontend, Node.js + PostgreSQL on Railway for the backend, Strava OAuth for data sync. Every feature, from the zone pace charts to the AI plan import flow, was designed to solve a real problem I had as a runner training for marathons.
Soon to be live on the App Store.
Built as a solo developer project, every screen, API endpoint, and deployment pipeline was written from scratch.