RunIndex — Race Discovery Platform

A Next.js web application for discovering and browsing running races, with calendar views, geospatial search, and race detail pages.

01.Project Overview

Overview

RunIndex is a running race discovery platform that aggregates race data from multiple sources (RunSignUp, UltraSignup, Active Network) and presents them through a modern, searchable web interface with calendar, map, and list views.


Application Features

  • Race Search & Discovery — Browse races by type (5K, 10K, Marathon, Ultra), date range, and location
  • Calendar View — Monthly calendar layout showing upcoming races with quick-access detail cards
  • Geospatial Search — PostGIS-powered distance queries for finding races near a given location
  • Race Detail Pages — Individual race pages with description, difficulty rating, history, and registration links
  • Quality Scoring — Each race receives a computed quality score (0–100) based on data completeness

Data Pipeline

The backend includes a multi-source ingestion pipeline built with LangGraph:

  • RunSignUp — Parses race listings with date, location, and type extraction
  • UltraSignup — Scrapes ultramarathon and trail race data with enrichment
  • Active Network — Fetches mainstream road race events
  • Deduplication — Cross-source matching via source IDs and fuzzy name/location matching
  • Enrichment — Difficulty estimation, sponsor extraction, historical edition count, and quality scoring

Data is stored in PostgreSQL with PostGIS, using a normalized schema (races → race_events) with spatial and temporal indexes for fast queries.


Tech Stack

  • Frontend: Next.js, React, TypeScript
  • Backend: PostgreSQL + PostGIS, Supabase
  • Data Pipeline: Python, LangGraph, multi-source scrapers
  • Infrastructure: Docker, Docker Compose

Technologies

Next.jsReactTypeScriptPostgreSQLPostGISSupabaseLangGraph

Role

Full Stack Developer

Timeline

Jan 2026 - Present

Category

Full Stack / Geospatial