The Rascals - Luddy Hacks 2026
Inspiration
Inspired by the Little 500 Race and the Leaderboard case for the hackathon.
What it does
It loads real 2025 finisher / team data from a spreadsheet, then simulates how far each team had ridden at any moment in the race. You can move through time and switch heats; the dynamic leaderboard updates so miles stay consistent with the clock. There’s also stats, an activity log of submissions, and admin tools to add/remove rows or reset from the sheet.
How we built it
Frontend: React + Vite (dev server on port 5173, with API requests proxied to the backend). Backend: Node.js + Express (port 3001) with better-sqlite3 for persistence—active leaderboard rows, append-only submission history, and stored race clock + heat. Race math is shared in spirit between server and client: progress from elapsed time drives simulated miles per team. npm run dev from the repo root runs API and web together.
Challenges we ran into
Keeping UI and server state aligned, ran into concurrency problems. Also brainstorming ideas for how we can creatively apply the leaderboard problem.
Accomplishments that we're proud of
Coherent app that is able to simulate races and display stats dynamically as the race progresses.
What we learned
How Express and SQLite can work together to keep the app simple, better-sqlite works on a single database server.
What's next for Little 500 Leaderboard Simulation
Could add import from Microsoft Excel to simulate any types of races.
Log in or sign up for Devpost to join the conversation.