Back to archive
I. Personal Ventures & Frameworkshowcasesolo

RunMate — Strava-connected Running App

The user's own startup, RunMate — an app for runners with Strava integration. Contains a new full-stack monorepo (runner_fullstack, ~91% commits from the user) and a legacy prototype (strava). A build-in-public asset with a pitch deck and a Google Play launch plan.

Status
active
Period
2025-09-02 → 2026-05-26
AI sessions
Stack
Languages
TypeScript
Frameworks · Infra
BunTurborepoElysiaNext.jsBetter AuthDrizzle ORMSupabase
§01

Overview

  • What it is: RunMate — a product for tracking running workouts (Strava import, goals, reports, mobile app). Two git repos live inside runner/:
  • runner_fullstack/ (package name runmate) — the main new platform (Bun monorepo, 5 apps + 14 packages).
  • strava/ — an early prototype on Next.js 15 + Supabase + Strava + Telegram bot + PDF reports (being migrated into the fullstack repo, see MIGRATION_PLAN.md).
  • Type / status / role: web-app + mobile (startup monorepo) / active (last commit 2026-05-26 — the freshest of all) / solo (with occasional help from Yuri). runner_fullstack: Davron 242 of 265 (~91%); strava: Davron 20 / Yuri 20 (co-led).
  • Activity period: 2025-09-02 (strava prototype) → 2026-05-26 (runmate). Active development.
§02

Stack

  • runner_fullstack (runmate): Bun + Turborepo monorepo.
  • apps/: web, admin, api (Elysia), mobile (native app), worker (background jobs/queues).
  • packages/: ai, auth (Better Auth + RBAC), cache (Redis), cli (interactive installer), db (Drizzle/Postgres), design-tokens, email, entities, queue, strava (integration package), ui (shadcn), eslint/ts-config.
  • Features (README): E2E type safety via Eden Treaty, i18n (ru/en/uz), glassmorphism shadcn/ui, RBAC, interactive CLI. The same "golden stack" as in rentcar/managers, extended with mobile + worker + ai + queue.
  • strava (prototype): Next.js 15 + React, Supabase (backend/DB), Strava API, Telegram bot (lib/telegram), PDF reports (test-pdf-*), goal estimator, monthly report, recharts, i18n. Bundle analyzer.
  • Infra/deploy: Turborepo; GOOGLE_PLAY_PUBLICATION_PLAN.md, Runmate_Pitch_Deck.pptx, MIGRATION_PLAN.md — a real go-to-market kit. .mcp.json (MCP environment).
  • Data: PostgreSQL (Drizzle) in runmate; Supabase in the prototype; Redis (cache/queue).
§03

What was shipped

  • runner_fullstack (262 user commits out of 303 total): built a multi-app platform — Elysia API, web/admin (Next.js), mobile app, worker (queues), packages ai/auth/cache/db/email/entities/queue/strava/ui + design-tokens. The freshest active project (through 2026-05-26).
  • strava (prototype, co-led with Yuri): a Next.js + Supabase app with Strava import, Telegram bot, PDF reports, goal estimation and monthly reports; recharts visualizations. The "proof of concept" stage → migrated into the monorepo.
  • Product artifacts: pitch deck (.pptx), Google Play publication plan, migration plan — the user runs this as a real startup, not just code.
§04

Technical challenges

Confirmed by structure/manifests/README.

  • Multi-app monorepo (5 apps) → web + admin + api + mobile + worker in one Turborepo with 14 shared packages. Serious organization for a solo developer; demonstrates the ability to build a platform, not just a single app.
  • Dedicated `queue` package + `worker` app → async processing (Strava import/sync, report generation) factored into a worker — proper architecture for background jobs.
  • Strava integration as a reusable package (packages/strava) → encapsulating OAuth / activity import.
  • AI package (packages/ai) → likely generation of training insights/plans (needs confirmation by reading, but the existence of the package implies AI features in the product).
  • Prototype → production migration (strava → runmate) with an explicit MIGRATION_PLAN.md — mature approach: quick prototype on Supabase, then port to a typed first-party platform.
  • Telegram bot + PDF reports (in the prototype) → real user-facing features (notifications, monthly report export to PDF).
§05

AI-assisted development

  • Sessions found: 0 .jsonl in the local Claude Code sessions store for runner paths. Locally there's .claude/ (in both sub-repos) + .mcp.json + AGENTS.md/CLAUDE.md — AI-assisted development (Claude/MCP/Cursor), but transcripts weren't preserved.
  • AI workflow patterns: no transcripts; .mcp.json indicates a configured MCP environment.
§06

Achievements & metrics

  • 303 commits total (262 by the user), active development through 2026-05-26.
  • runner_fullstack: 5 apps + 14 packages (including mobile and worker).
  • A real startup kit: pitch deck, Google Play plan, migration plan.
  • A prototype with Strava + Telegram bot + PDF reports + goal estimator.
§07

Contributors

git shortlog · all branches

  1. Dave93262
  2. Yuri_Mun47
2 contributors309 commits total
Currently

Open to Senior / Staff engineering roles and selective freelance — production AI, platform, and full-stack work.

Get in touch