Git Racer

Race your friends, race famous developers, and turn your GitHub contributions into a competitive sport.

Pick any GitHub username and we pull actual commit counts from GitHub. Your real totals, not starting from zero.

Features include 1v1 head-to-head duels, goal-based challenges, league tiers, streak tracking, contribution graphs, shareable race links, and social sharing across Twitter, LinkedIn, Discord, Slack, and more.

Type

Web App

Tech Stack

React

TypeScript

Hono

PostgreSQL

Drizzle

Three.js

Git Racer

Project Purpose & Goal

Wanted to make open-source contributions feel competitive and social. No global leaderboard — the focus is on personal, meaningful 1v1 races against friends, colleagues, or anyone on GitHub.

Stack & Explanation

Monorepo with React 19 and React Router v7 on the frontend, Hono as a lightweight REST API on the backend, Drizzle ORM with PostgreSQL for data, Three.js for a 3D Hyperspeed landing animation, and Vite for dev tooling. Deployed on Vercel with serverless functions and cron jobs for daily GitHub data ingestion.

ReactTypeScriptVite
Git Racer opponent carGit Racer finish line

Problems & Thought Process

Blending multiple GitHub data sources. Accurate commit counts required pulling from GitHub Archive, GraphQL, and the Events API — each with different coverage, latency, and rate limits. Also handled cold-start crashes with @vercel/og image generation and StrictMode double-mount issues with the Three.js Hyperspeed animation.

Lessons Learned

Building a social product around real data is harder than building the features — the data pipeline (ingestion, deduplication, accuracy) ended up being the core challenge, not the UI.