Timed digital SAT practice, built by a student who got tired of tracking mistakes in a spreadsheet.
I was preparing for the SAT and doing sets of ten questions from College Board's question bank, logging what I got wrong in a spreadsheet. It told me nothing about pacing, which is most of what the digital test actually measures. And every time I wanted to try a different approach, the only realistic way to test it was to burn one of my six official practice tests.
So I built the thing I wanted: real modules, real clock, real question order — and a way to practise that doesn't cost you a practice test.
This is the part that matters most, so it's on by default.
College Board marks a large share of the questions in their bank as active — still in use on test forms. Those are exactly the questions that can show up on a practice test you haven't taken yet. Their own question bank tool has a switch to exclude them, and so does this.
With the switch on, you practise only from retired questions. You can turn it off, but the app will warn you, and I'd recommend against it unless you've already used every official practice test you have.
The questions aren't stored on this site. When you start a module, your browser requests the questions from College Board directly and caches them locally on your own device. Nothing passes through a server of mine, because there isn't one — this is a single HTML page on static hosting.
That's deliberate. Their questions are their copyrighted work, and republishing a copy of them would be a different thing entirely from building an interface for practising with them.
The practical consequence: if you clear your browser data, your history here is gone, and there's no way for me to restore it. That's the trade for not having accounts.
I do, and it costs about $10 a year — a domain name. The hosting is free. There are no ads, no subscription, no premium tier and no donation button. It isn't a business and I'm not trying to make it one.
I mention this because "free study tool" reasonably makes people wonder what the catch is. There isn't one. The whole thing is a static page, so it costs nearly nothing to run, and I'd rather keep it clean than earn a few dollars a month from it.
The question bank is a flat pool — it isn't adaptive and it isn't equated the way a real test form is. Any 200–800 number produced from it would be invented, and an invented score is worse than no score when you're deciding what to study.
You get a raw score and a breakdown by domain, skill and difficulty instead. That tells you where to spend your time, which is the useful part. Use official Bluebook practice tests for actual score estimates.
Openly: most of the code was written with Claude Code, an AI coding tool. I decided what it should do, tested it, found the bugs, and made the calls about what it would and wouldn't do — including everything on this page. I use it for my own preparation, which is how most of the problems got found.
The whole thing is open source. You can read every line, check the claims on this page for yourself, or run your own copy: github.com/Svitek0/moduledrill.
This is an independent project. It is not affiliated with, endorsed by, sponsored by or connected to College Board in any way. SAT, Bluebook and PSAT are their registered trademarks, used here only to describe what this tool is for.
The questions and explanations are College Board's work, published by them in their public question bank. All credit for the content is theirs; the interface is mine.