TFTdle
A daily Teamfight Tactics guessing game where users test their knowledge and track guesses. Features an automated pipeline that scrapes data for each patch and resets the backend daily, supporting 100+ daily active users.
June 2024 - April 2025
The Problem
Teamfight Tactics players love testing their knowledge, but most stat and comp tools only show data, they don’t make it fun. There wasn’t a fun way to challenge TFT knowledge daily, track guesses, or compete with friends. I wanted to build an engaging interactive experience for gamers, not just another wiki site.
Key Features
- •Daily rotating characters puzzle with guessing feedback
- •Guesses track traits, origins, costs, items, and set appearances
- •Classic Mode: Guess the daily champion
- •Real-time feedback on guesses with visual indicators
- •Finisher Mode: Guess the Chibi's finisher
- •Little Legend Mode: Guess the splash art of the little legend
- •Trait Mode: Guess the trait based on the description
- •Follow up questions on three of the modes
- •Automatic data scraping every patch using Python & BeautifulSoup
- •Backend reset scheduler that rolls over the daily champion
- •Session storage so players can return and see past guesses
- •Dockerized backend + AWS deployment for scalability
Classic mode
Finisher mode
Little Legend mode
Trait mode
Misc: Patch notes, how to play, etc.
Technical Implementation
TFTdle uses a React + TypeScript frontend and a Spring Boot backend backed by PostgreSQL. The game data is scraped automatically each patch using Python + BeautifulSoup, then processed and stored. A scheduled backend job rotates the champion daily and clears previous guesses. The service is containerized with Docker and deployed on AWS, handling 100+ daily players.
Results
What I Learned
I learned how to architect a game system that updates itself without manual involvement. Working with daily resets, scraping, and persistence taught me the value of reliability in backend systems. I also gained experience designing UI that feels simple even when the logic behind guess evaluation is complex.