Inspiration
I was inspired by chess's ability to use a 'gamified' approach in order to retain attention while teaching valuable cognitive skills.
Chess.com has grown to over 250 million users as of 2026. Chess is a game that requires patience, calculation, and long-term thinking. In a world filled with short-term attention economies such as those on social media platforms like tik-tok and instagram, I see chess.com as a clear example that with the right approach, perhaps reading can be made a skill that is more successful in providing short-term re-enforcement.
With 28% of U.S. adults reading at the lowest literacy level (Level 1 or below) according to the National Literacy Institute, the goal is to make reading more rewarding to solve this problem.
What it does
Lit Duel allows two players to 'Duel' by solving reading questions in a timed format with elo at stake. Elo is a measure of relative-skill level and part of what makes winning a chess match so rewarding. It can be defined as
Expected score for player A against player B $$E_A = \frac{1}{1 + 10^{(R_B - R_A)/400}} $$
Actual score and K-factor $$S_A = \begin{cases} 1 & \text{win} \cr 0.5 & \text{tie} \cr 0 & \text{loss} \end{cases} \qquad K = 32$$
Rating update after the match $$ R_A' = R_A + K\,(S_A - E_A) $$
Zero-sum: player B's change mirrors player A's $$ R_B' = R_B - K\,(S_A - E_A) $$
Where \(R_A, R_B \) are the current ratings of players A and B. \(R_A', R_B' \) are the new ratings for players A and B. \(E_A \in [0,1 ]\) is A's estimated chance of winning.
$$ \begin{array}{c|c|c|c} R_A - R_B & E_A & \text{Win } (S_A = 1) & \text{Loss } (S_A = 0) \cr \hline -400 & 0.09 & +29 & -3 \cr -200 & 0.24 & +24 & -8 \cr 0 & 0.50 & +16 & -16 \cr +200 & 0.76 & +8 & -24 \cr +400 & 0.91 & +3 & -29 \end{array} $$
How we built it
Lit Duel is a simple game that uses next.js/neon for its backend and react.js for its front-end. I built it by building the database on Neon to store user, game, and problem data. Then, I built the API endpoints in typescript. After that was the front-end in react.
Challenges we ran into
The challenges we ran into were with using the react framework. I chose this project specifically because it required skills that were outside my comfort zone.
Accomplishments that we're proud of
I'm proud of how much I learned about backend fundamentals such as endpoints, HTTP, REST API's, and CRUD operations.
What we learned
I learned so much of the basics from status codes to writing routes in typescript to perform CRUD operations.
What's next for Lit Duel
More problems. A better front end.