u/Chance_Inspection217

I built an all in one chess improvement platform that auto analyzes every game from your Chess.com or Lichess account

I'm a software dev (ex-Ubisoft) and chess has been my obsession outside of work since I was a child. And tbh, I got tired of paying and switching between three different chess sites that each did one thing well: one for game review, one for puzzles, one for openings. Three subscriptions, three accounts, three sets of stats that don't talk to each other.

So I built chessiq.io. Connect your Chess.com or Lichess account, it pulls 6 months of games on signup and runs Stockfish on every move in the background. By the time you finish onboarding, your data is already crunched.

What's in it:

  • Full game review with eval graph, move classification, tactical themes
  • Loss patterns (recurring weaknesses across all your games, not per-game)
  • Phase accuracy, time-pressure analysis, conversion rate from winning positions
  • Opening explorer with the masters database, repertoire builder with branching lines
  • 700k Lichess puzzles with adaptive difficulty, plus blunder replay (your own mistakes served back as puzzles)
  • Endgame tablebases via Lichess Syzygy
  • Six trainers: Vision, Calculation, Blunder, Endgame, Opening Quiz, Opening Trainer
  • Daily puzzle, achievements, skill tree, XP

Stack: Next.js 16, Postgres, Redis, Bull, two Railway services. One runs the app, the other is a Stockfish engine pool chewing through ~10-16 games/min at depth 12.

Free tier is generous, premium is a few bucks a month. I'd love to chat about it and to answer anything about the stack, the engine pool, or the build journey.

reddit.com
u/Chance_Inspection217 — 15 days ago

I'm a software dev (ex-Ubisoft) and chess has been my obsession outside of work since I was a child. And tbh, I got tired of paying and switching between three different chess sites that each did one thing well: one for game review, one for puzzles, one for openings. Three subscriptions, three accounts, three sets of stats that don't talk to each other.

So I built chessiq.io. Connect your Chess.com or Lichess account, it pulls 6 months of games on signup and runs Stockfish on every move in the background. By the time you finish onboarding, your data is already crunched.

What's in it:

  • Full game review with eval graph, move classification, tactical themes
  • Loss patterns (recurring weaknesses across all your games, not per-game)
  • Phase accuracy, time-pressure analysis, conversion rate from winning positions
  • Opening explorer with the masters database, repertoire builder with branching lines
  • 700k Lichess puzzles with adaptive difficulty, plus blunder replay (your own mistakes served back as puzzles)
  • Endgame tablebases via Lichess Syzygy
  • Six trainers: Vision, Calculation, Blunder, Endgame, Opening Quiz, Opening Trainer
  • Daily puzzle, achievements, skill tree, XP

Stack: Next.js 16, Postgres, Redis, Bull, two Railway services. One runs the app, the other is a Stockfish engine pool chewing through ~10-16 games/min at depth 12.

Free tier is generous, premium is a few bucks a month. Happy to answer anything about the stack, the engine pool, or the build journey.

reddit.com
u/Chance_Inspection217 — 15 days ago

I built an all in one chess improvement platform that auto analyzes every game from your Chess.com or Lichess account

I'm a software dev (ex-Ubisoft) and chess has been my obsession outside of work since I was a child. And tbh, I got tired of paying and switching between three different chess sites that each did one thing well: one for game review, one for puzzles, one for openings. Three subscriptions, three accounts, three sets of stats that don't talk to each other.

So I built chessiq.io. Connect your Chess.com or Lichess account, it pulls 6 months of games on signup and runs Stockfish on every move in the background. By the time you finish onboarding, your data is already crunched.

What's in it:

  • Full game review with eval graph, move classification, tactical themes
  • Loss patterns (recurring weaknesses across all your games, not per-game)
  • Phase accuracy, time-pressure analysis, conversion rate from winning positions
  • Opening explorer with the masters database, repertoire builder with branching lines
  • 700k Lichess puzzles with adaptive difficulty, plus blunder replay (your own mistakes served back as puzzles)
  • Endgame tablebases via Lichess Syzygy
  • Six trainers: Vision, Calculation, Blunder, Endgame, Opening Quiz, Opening Trainer
  • Daily puzzle, achievements, skill tree, XP

Stack: Next.js 16, Postgres, Redis, Bull, two Railway services. One runs the app, the other is a Stockfish engine pool chewing through ~10-16 games/min at depth 12.

Free tier is generous, premium is a few bucks a month. Happy to answer anything about the stack, the engine pool, or the build journey.

reddit.com
u/Chance_Inspection217 — 15 days ago
▲ 30 r/chessbeginners+1 crossposts

So yesterday I posted a thing about when 1500s blunder and got my methodology kneecapped in the comments. Mostly fair. The biggest hit was that I was counting raw blunder counts without normalizing by how many moves are actually played in each time bucket. Which is exactly the mistake that flips the conclusion.

Reran with three fixes:

  1. Normalized by moves-per-bucket so it's a rate, not a count.
  2. Filtered to just 10+0 games. Someone pointed out that 15+10 rarely reaches the under-30s bucket, which was inflating things. They were right.
  3. Quick clarification on the 0.20 threshold a few of you flagged. It's 0.20 in expected points (win probability), not centipawns, so it's actually a 20-point drop in winning chances, not "two tenths of a pawn." Reran at a stricter 0.30 threshold to make sure and the shape of the chart doesn't change. So the threshold thing was a wording problem on my end, not a data problem.

New sample: 8,431 anonymized 10+0 games, 1400-1600.

Per-move blunder rate by time on clock:

  • 2+ min: 0.6 per 100 moves
  • 1-2 min: 1.2 per 100 moves
  • 30-60s: 1.6 per 100 moves
  • under 30s: 2.9 per 100 moves

So yeah. Time pressure does spike blunder rate, almost 5x in scrambles vs when you have plenty of time. The "wasn't time trouble" headline was wrong on a per-move basis. You were right to call it.

What I'd still hold onto from yesterday: even with the per-move spike, more total blunders happen with time on the clock, just because most moves happen there. So "fix your time management" closes part of the leak but not most of it. The bigger lever for a 1500 is still calculating consistently in the calm-looking middlegame, not playing faster.

Anyway. Posting the corrected version because leaving the original up uncorrected felt gross. Thanks for the beating, the data is more useful now.

u/Chance_Inspection217 — 17 days ago
▲ 46 r/chessbeginners+1 crossposts

Been stuck around 1500 forever and got tired of guessing why, so I dumped a bunch of my rapid games into an analysis script and looked at the numbers. Then figured one player's games is basically noise so I scaled it up and ran 12,847 anonymized 10+0 and 15+10 Chess.com games in the 1400-1600 band. Stockfish depth 12, counting a move as a blunder if expected points dropped more than 0.20.

three things I noticed.

1. Only 23% of blunders happen with under 30 seconds on the clock. The biggest chunk, 35%, happen with more than 2 minutes left. We're not blundering because we're flagging. We're blundering with a minute and a half on the clock because we just kind of stop calculating.

Full split:

  • under 30s: 23%
  • 30-60s: 18%
  • 1-2 min: 24%
  • 2+ min: 35%

2. Phase breakdown:

  • moves 1-15: 19%
  • moves 16-30: 51%
  • moves 31+: 30%

Endgames are leaking more rating than I thought. Most of my study time goes to openings and the data says that's where the smallest leak is. Cool.

3. Blunder rate goes up 2.1x right after the opponent plays a quiet move. No check, no capture, no threat. Position looks calm so we play the natural move and hang something. Almost every "wait what" blunder I went back and looked at was right after a non-forcing move from the opponent. Brain just turns off when nothing's attacking.

Honestly the takeaway for me was stop trying to play faster. I have the time. The blunders are not coming from the clock.

Anyone seeing the same in their own games? Curious if this is a 1500 thing or if it holds at 1800+. Might pull that sample next if anyone's interested.

u/Chance_Inspection217 — 17 days ago

I'm improving pretty quick but I dont know if I will plateau or just keep on improving steadily, what do you guys think? Has anyone else experienced a situation like mine?

u/Chance_Inspection217 — 23 days ago