EliteTrackr

Nuxt.jsTypeScriptAdonisJSPythonD3.js
View site
  • 800KAthletes
  • 14MPerformances
  • 230Countries
  • 9Languages
EliteTrackr, interface screenshot 2 (Nuxt.js, TypeScript)
EliteTrackr, interface screenshot 3 (Nuxt.js, TypeScript)

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.

Nuxt.jsTypeScriptAdonisJSPythonD3.js

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.

Tell me about your project. I'll be straight with you about whether I can help.

Senior freelance fullstack developer. I help startups and tech teams build the right thing, and build it right.

Based in France, fully remote or on-site depending on the project. Lyon, Grenoble, Annecy, Paris…