I’m sharing the 3rd version of a side project I’ve been building for every major tournament since 2022. It’s called Bench-Bets, and it’s a simple way to run prediction leagues for the 2026 World Cup with friends.During Euro 2024, the app reached 7,000 users. I was running it on Fly.io and, despite the great DX, I realized I hadn t spent enough time on my caching strategy. I ended up hitting over 100GB of outbound traffic in a month for what is essentially a text-heavy app. For v3, I’ve spent my time rethinking the data-fetching architecture and ensuring I m not re-downloading the world on every match update.The tech-stack:- nuxt v4 tailwind- sqlite + drizzle ORM. I’m a huge advocate for SQLite in production for these types of hobby apps—it’s fast, simple, and the performance for thousands of concurrent users has been surprisingly solid- auth: Better AuthThe rules: It’s the standard guess the score format, but I’ve added a twist where points double starting from the Round of 16 to keep the leaderboard competitive until the very end.I built this because I wanted an ad-free, tracker-free alternative to the cluttered betting apps out there. It’s just me and a few friends playing, but it’s been a fun way to learn about modern web architecture and the surprises that come with even modest scale.