I Can't Code, But I've Built 9 Chess Tools in the Last 6 Months
The power of vibe-coding
For most of my life I’ve had a graveyard of ideas. Tools I wished existed, training methods I wanted to try, little utilities that would make my coaching easier. And every single one of them died in the same place: the space between “I have an idea” and “I know how to build it.” I’ve been coaching chess for over 12 years and I never wrote a line of working code in any of them.
That changed about six months ago. With vibe coding and Claude Code, I can finally build the things I’ve been imagining for years. So let me be upfront about what this is: I am not a real coder, and I’m not going to pretend to be one. This is all vibe coding. I describe what I want, the AI writes it, and I test, break, and tweak until it does what I had in my head. I’ve picked up a few things along the way, but if you sat me down and asked me to write a program from scratch, I’d be lost.
I also want to give credit where it’s due. A big part of what got me to actually write this up was Chris Wainscott’s article on vibe coding chess tools:
Seeing another improver building his own utilities instead of waiting around for someone else to make them was the nudge I needed to show what I’ve been working on too. So thanks Chris, and if you haven’t read his stuff, go do that.
What I can do now is solve my own problems. For years I’d go looking for a specific training tool and find that nobody online had built the version I actually wanted. Now when that happens, I just build it myself. Some of these are live online and you can use them today. Some still live on my laptop. And one or two might end up on Chessalyz if enough of you tell me they’re worth shipping. There’s a short video under each section so you can watch the tool actually work instead of just taking my word for it.
Here’s everything I’ve made (so far):
DaltonPerrine.com (live)
This is the one I’m proudest of, and it’s the most personal. It’s my coaching site, but the part that matters is the student portal. After every lesson I upload notes, the video recording, and homework assignments, and my students have one place to find all of it. No more digging through old emails or losing a recording in a chat thread.
I’d wanted something like this for years and never found a version that fit how I actually coach. The off-the-shelf options were either janky or didn’t do the things I needed. Building it myself meant I could shape it around my workflow instead of bending my workflow around someone else’s software. If you’re a current student, you already know this one. If you’re curious what coaching with me looks like behind the scenes, the site is the front door.
Quick walkthrough of the site and student portal below:
Chessalyz.ai (live)
Chessalyz is the big one, and it’s the project I co-founded with my student Varun Kumar. It’s an AI-powered analysis platform that helps you to bridge the gap between not analyzing your games at all, and only clicking “game review” to see what the engine recommends in each position without any explanation.
For this project, I want to be honest about my role: I’m much more on the chess ideas and inspiration side than the coding side here. Varun and a contractor named Hans have been the real architects of the site. My job is to think like a coach and a player and say “here’s what would actually help someone improve,” and then they make it real.
That division of labor has been one of the best parts of this whole stretch. I get to focus on the thing I’ve spent 12 years thinking about, which is how people actually get better, and the build side is in good hands. We’ve got plans to bring a version of the Guess the Move tool (more on that below) onto Chessalyz in the next month or two.
Here’s a look at Chessalyz in action:
Guess-the-Move (local for now)
This is one of my favorites. You copy in or upload a PGN of any game, and you get automated guess-the-move training against it. After each move you get feedback: did you match what was played in the game, and how did your move stack up against Stockfish’s top choice? You can also save positions from the games as flashcards for later study.
Guess-the-move training is one of the oldest and most respected ways to improve. Here’s a video I did last year where Nate Solon and I talked a lot about guess-the-move training:
One of the reasons I love this training is that it forces you to commit. You can’t passively nod along to a master game when the board stops and asks you what you’d play. The flashcard piece is what makes it stick, because the positions that stumped you don’t just disappear after one session. This is the tool we’re planning to add to Chessalyz, so it’ll go from “lives on my laptop” to “something you can actually use” soon.
See a full guess-the-move session in the clip below:
Practical Evaluation (local, still cooking)
This is one of the newest tools and I’m still tweaking it, but the idea behind it might be my favorite of the bunch. The engine gives you a “practical evaluation” of each move, which measures how complex and sharp the resulting positions get, on top of the normal engine evaluation.
Here’s why that matters. We play against humans, not engines. The objectively best move and the most effective move against a real opponent aren’t always the same thing. This tool shines for opening prep, because you can hunt for the options that are slightly lower in raw engine evaluation but higher in practical evaluation. Those are often the lines that are hardest for a human to navigate over the board. You give up a sliver of objective accuracy and in exchange you hand your opponent a much trickier set of problems to solve. Since it’s still in the works, this is the one I’d most want your feedback on.
The video below shows how the practical evaluation compares to the raw engine numbers:
Chess Position Trainer (local)
Think of this as a tactic trainer that grew up. Most puzzle trainers feed you tactics and only tactics. Mine also includes defensive, attacking, positional, and endgame puzzles, because tactics are only one slice of what wins games. The other thing I built in: you have to solve some positions more than once, because you need to find the right answer against multiple replies from the “opponent.” It’s not enough to spot one pretty move. You have to actually prove you’d convert it against resistance, which is much closer to what a real game demands.
Watch the multi-reply solving in the clip below:
Chess Puzzle Extractor (local)
This one is a workhorse rather than a star. You upload a list of games or a PGN file and it pulls puzzles out of those games automatically. It’s the engine room behind a lot of my other puzzle work, because creating good training material by hand is slow, and this turns a pile of games into usable positions in seconds. Less time hunting for puzzles means more time actually coaching.
Here’s the extractor turning a PGN into puzzles:
Time Management Grading (local)
You input an online game and it grades each move on how well you managed your clock. If you burned three minutes on a quiet position where nothing was happening, you get flagged. If you blitzed out a move that actually deserved a long think, you get flagged for that too. Time trouble loses a staggering number of games, and most players have no idea where their clock actually leaks. This tool shows you, move by move, so the leak stops being invisible.
See a real game get graded below:
Forcing Moves Trainer (local)
This one trains a habit, not a position. You practice finding all the checks, captures, threats, and hanging pieces in a position. The goal is breadth of calculation rather than depth. A lot of players go deep down the first line they see and never notice the move that refutes the whole idea. Training yourself to scan every forcing move first is one of the most reliable ways to stop hanging into things you should have seen, and it’s a discipline I drill with students constantly.
The clip below shows the trainer in action:
Candidates Madness (ran during the Candidates)
This was a fun one. It’s a prediction competition we held on Chessalyz during the Candidates tournament, and I coded the first version before porting it over to the site. Think bracket-style predictions but for elite chess. It scratched the competitive itch for our community and gave people a reason to follow the event closely, which is exactly the kind of thing I like building: something that makes you engage with chess more deeply, not just consume it.
Since this project isn’t live anymore, here’s some additional information about it when it was running in case you’re interested:
What I’ve Actually Learned From All This
The biggest lesson is that the issue was never the ideas. I had those the whole time. The bottleneck was the wall between imagining a tool and building it, and that wall is a lot shorter now than it used to be. I still can’t code in any real sense, but I can describe what I want clearly enough to get there, and clear thinking about what a tool should do turns out to be most of the battle.
If you’ve got an idea for a training tool you wish existed, you’re probably a lot closer to building it than you think. I’m going to keep making these, and I’m genuinely on the fence about which of the local-only ones to put online, so if any of them sound useful to you, tell me. That’s the fastest way to push a tool from my laptop to your screen.
What would you build if the coding part were handled?





Inspiring stuff Dalton! The website portal looks great and helpful. Beyond that, a few of those tools are stuff I thought about (i.e. guess the move) , yet when I tried to brainstorm any chess stuff I could do with Claude they didn't occur to me.
Aw, yeah, puzzles that require the player to show that they saw all the defensive resources has been on my Bingo card for a while now. It always annoyed me when I spent serious thought on the "testing" line only to put in the first move and watch the puzzle just give up and block with the Queen or something stupid.
To answer your question, I actually do code, but the only tool I've built so far is one that takes a PGN of a game and creates an audio version I can listen to to practice my visualization. I'm slowly listening through Karpov vs Kasparov games.