EliteTrackr
- 800KAthletes
- 14MPerformances
- 230Countries
- 9Languages


Context
I did track and field for years. Every time I wanted to dig into a performance, compare a season, or follow an athlete's trajectory, I'd end up on sites capped at the Olympics or the biggest meets, never the full picture, never the tools to actually tell a story with the numbers. So I built it myself. EliteTrackr aims to become the Wikipedia of athletics: a global, multilingual reference where raw data turns readable again, for fans, athletes, coaches.
My approach
Shipping this alone meant solving three separate problems: get the data in, make it indexable everywhere, and keep it protected. Each one came with its own constraints, from a pipeline that has to digest 14 million performances to infrastructure that holds up against scrapers and AI bots.
- A Python pipeline that pulls data from several sources and consolidates it into one database: 800,000 athletes, 14 million performances, 230 countries, and it grows a bit more every day.
- Nuxt SSR + i18n across 9 languages, with an indexing strategy tuned per market. No ads, no growth hacking, the data quality does the rest.
- Cloudflare sits in front to absorb bots, AI scrapers and attacks. Redis caches the hot queries. I built the architecture defensively from day one.
Stack & technical choices
Full-JS to share types end to end between Nuxt and AdonisJS, and to ship Adonis in production, a deliberate bet on my part. Python handles the data layer: better raw performance and a data-science ecosystem nothing else matches. Postgres for persistence, Redis for cache, Coolify for deployment.
Outcome & takeaways
Live since January 2026. About 50 visitors a day, pure organic growth, no paid acquisition. Lighthouse scores of 99/92/96 on desktop and 80/92/96 on mobile, on pages serving up to 14 million records. I did all of it solo: design, UI/UX, front, back, devops, data, SEO. Beyond the numbers, this is the project where I found my voice, visual, tone, structure, and where I get to watch the database grow a little richer every day.