
The problem
What it solves
Serious amateur runners pile up years of workouts in Strava and get almost nothing actionable back — Strava says what you did, not whether it was good or what to do next. RunMate ingests the full history, including splits, heart-rate zones and best efforts, and answers the questions Strava does not: how a 5K compares to the world record, whether a goal race is on track, what this week's training and strength work should look like. Four LLM agents — Coach, Analyst, Recovery and Triage — turn that data into plans and reports on the web and in a native Android app.
Day one
What the boilerplate supplied
Before a line of RunMate was written, these 9 packages were already working — auth with RBAC, a typed database layer, Redis caching, transactional email, shared types, the component library, and the setup CLI.
That was the baseline RunMate forked from. ShipKit ships 18 packages and 7 apps today, so some of what follows is now included out of the box.
On top
What this project added
Packages
Apps
ai, analytics, queue, worker are in ShipKit today — RunMate predates that and had to write them.
- packages/strava — a full integration layer, not one API call: REST client, incremental and historical sync, OAuth token refresh, push-webhook processing, and scripts for backfilling splits, heart-rate zones and best efforts. Strava is also the primary sign-in provider.
- packages/ai + apps/api/src/modules/v1/ai — four named agents on the Vercel AI SDK with streaming chat across 19 routes, conversations persisted over four tables, and per-user AI credits metered on every call.
- apps/mobile — a shipped Expo 55 / React Native app with a six-tab navigator and three native home-screen widgets (metronome, pace, timer) backed by a custom native storage module.
- apps/api/src/modules/v1/benchmarks — the comparison engine, computing percentiles from raw result sets against a world_records table sourced from World Athletics.
- apps/worker + packages/queue — a separate BullMQ process running four workers, so Strava syncing and recommendation generation stay off the request path.
Wired in
Integrations and stack
Third-party services
Stack
Measured
By the numbers
43
Database tables
16
API modules serving routes
14
Workspace packages
5
Apps in the monorepo
Counted from the repository, not estimated.
More
Other apps on the same boilerplate

The commercial control plane for a self-hosted analytics product: checkout, license keys, a server registry, installer distribution, and a hosted AI gateway.

A four-app commerce platform for Uzbekistan: trilingual storefront, admin back-office, local payment rails, and a native courier app for last-mile delivery.

Attendance and payroll for shift teams. Staff clock in from Telegram or a native app, verified by face recognition and a GPS geofence; verified shifts become same-day pay.
Start building your product today.
The setup is done. Auth works. Payments work. Just add your idea.
Get ShipKit — $149