Back to Chris RadlerApp · My product

Runcards

Find your next run. A cross-platform running-community product — runners discover group runs and clubs, and clubs promote events, manage registrations, and grow their community.

Live now on the App Store and Google Play.

What it is

Runcards is a two-sided running community. Runners find group runs, connect with other runners, and keep a profile of their pace and history. Run clubs promote events, manage registrations, run a members' chat, and grow their following.

The whole product is built around three linked cards that flow into each other as you browse, register, and message.

On the web
Runcards marketing site at run.cards

run.cards ↗

Inside the app
Runcards — Discover
Discover
Runcards — Your runcard
Your runcard
Runcards — Club card
Club card
Runcards — Meeting card
Meeting card
Runcards — Club chat
Club chat
Runcards — Map view
Map view
The three cards
Runner profile

Runcard

A runner's profile — pace, bio, photos, and a linked Strava. Completion is gated before a runner can join runs or clubs, and the card can be shared as a generated image.

Club profile

Club card

A run club's public face — location, pace, description, hero image, upcoming runs, and member ratings. It surfaces everywhere a runner taps a club.

A single run

Meeting card

One run or event — date, time, location, distance, and who's registered. One-off or recurring, organized by a club or created casually by a runner.

What you can do

Discover

Browse runs and clubs near you with location, date-range, and pace filters — tap through from a run to its club to the next meeting.

Register & manage

Runners join a run in a tap; clubs see their roster and manage who's coming.

Connections

Follow runners and clubs to build a running network, right from cards and participant lists.

Real-time messaging

Direct messages and a per-club group chat, backed by a live WebSocket layer.

Recurring runs

Weekly series generate their upcoming instances automatically, with timezone and recurrence handled server-side.

Strava-connected

Runners link Strava to enrich their runcard with real activity context.

The AI content studio

The piece that makes Runcards more than a directory: a studio that lets a run club market itself like a brand — generating content and distributing it everywhere, automatically.

AI image & video

Clubs generate branded post imagery and motion video backgrounds for their runs — no designer required.

Marketing briefs

A club's events turn into ready-to-post social content, structured from a brief.

Multi-city distribution

Publish distinct, city-specific content across social accounts through a single pipeline, so each market gets its own post — not a copy-paste blast.

Architecture

FastAPI + MongoDB

An async Python backend (FastAPI + Motor) with strict Route → Service → Repository → Model layering, so business logic stays out of the routes and the database.

React Native (Expo)

One codebase ships the iOS and Android apps — React Navigation, TanStack Query, secure token storage, and Apple sign-in.

React console

A React web console (Radix UI) for clubs and operations, with cookie + CSRF auth distinct from the mobile bearer-token flow.

Real-time layer

A WebSocket manager powers live direct messages and club group chat with reconnect handling.

Integrations & media

Strava, Google Sheets, and S3 media storage, plus the AI generation and social-publishing pipelines behind the content studio.

Cloud

The backend runs on Railway and the web app on Vercel, with CI running backend tests and the web build on every change.

Built with
PythonFastAPIMongoDB (Motor)React NativeExpoReactTanStack QueryWebSocketsAWS S3Strava APIRailwayVercel

See it live

Runcards is live on the App Store, Google Play, and the web at run.cards.