Portfolio Project
Automaticity
Automaticity is a site I coded to help me memorize my multiplication tables, country locations, and national flags using fast, repetitive multiple-choice quizzes with instant feedback. I built it after discovering how effective that style of learning was for geography and realizing nothing similar existed for multiplication. I plan to expand the subject matter beyond just math and geography to the sciences.
Try the tool
Tool not loading? Open it in a new tab.
Video demo
https://automaticity-v2.vercel.app/
The short version
Automaticity is a practice site I built for memorizing things that benefit from instant recall, think multiplication tables, country locations on a map, and national flags. It uses a simple loop: you get a question, you pick from four options, you’re told immediately whether you’re right or wrong, and if you’re wrong you see the correct answer before moving on. And repeat. No accounts, no backend, no loading screens. Just fast repetition with precise feedback.
Where the idea came from
I was just killing time on an online flag quiz site one night, the kind where it shows you a flag and you pick the country from four choices. I was focused on Africa because I figured it would be the hardest region for me, and I was right, I knew almost none of them going in. But after maybe forty-five minutes I started getting most of them right without thinking. After an hour I was running through the whole set making one or two mistakes at most. That surprised me. I hadn’t been studying. I hadn’t made flashcards. I just kept answering questions, getting told when I was wrong, seeing the right answer, and trying again.
So I moved over to the geography side of the same site and started learning where all the countries actually are on the map. Same experience. Within an hour I could look at a blank map of Africa and name almost everything. I did Europe next, then Asia, then the Americas. The speed of it was genuinely shocking to me — I went from not being able to confidently point to Vietnam on a map to someone who could place Kyrgyzstan or Comoros without hesitating, and it only took a couple days of practice to memorize the whole world.
What made it click for me wasn’t just the memorization itself though. It was realizing how often this stuff came up in real life once I actually knew it. I’d be watching the news and hear about the civil war in Sudan displacing tens of millions of people, and because I now had a clear mental image of the map I could immediately think about the pressure that puts on Chad, a country I knew was bordering Sudan. Before, Sudan was just a name. Now it was a place with neighbours and geography. Or I’d be in line for a coffee and notice someone with a Senegal flag on their backpack, and instead of that being meaningless visual noise I could actually say something — ask them if they were rooting for Senegal in the World Cup. Small stuff, but it added up. Knowing where things are and what they look like turned out to be more practically useful than I expected.
That got me thinking about what else I could apply this to. And the obvious answer was multiplication tables.
The multiplication problem
Coming out of grade school I didn’t have my multiplication tables committed to memory. I of course had the easy ones down like anything times five, anything times ten, the squares, the small ones. But if you asked me what 9x7 was, I’d have to think about it. I’d get there in maybe five or six seconds by reasoning through it, but it wasn’t instant. It wasn’t automatic.
And that matters more than it sounds like it should. When you’re doing mental math in your head like splitting a bill, estimating a tip, or figuring out how much of something you need, every multiplication that requires conscious thought slows you down and eats up working memory that could be going toward the actual problem you’re trying to solve. If the building blocks are instant, the higher-level thinking gets easier. That’s the whole premise of automaticity as a concept: when retrieval is effortless, you free up cognitive resources for everything else.
So I decided to grind out my multiplication tables the same way I’d ground out flags and countries. I went looking for a site that did the same thing as the flag quiz site: show me a problem, give me a few plausible options, tell me right or wrong, show me the answer, move on fast. But I couldn’t find a single one.
Instead, all I could find were websites that used learning approaches that were incredibly frustrating. Some sites who give you a question and then make you type out the answer, which is way too slow. Some would tell you that you were wrong but not show you what the correct answer was, which defeats the entire point — you can’t learn from a mistake if you don’t know what the right answer is. Others were full games where you’re a cartoon character fighting dragons or rescuing someone, and in between each multiplication question there’s thirty to forty-five seconds of animations and dialogue making the actual practice-per-minute terrible. None of them respected the thing that made the geography quiz work: tight cycles. Question, answer, feedback, next. Repeat. There was never any dead time.
So I built my own.
How it works
Multiplication
The multiplication game covers every fact from 1×1 through 20×20 which makes 400 facts total.
When you pick a table — say, the 17 times table — you’re given three options: 17×1 through 17×10, 17×11 through 17×20, or the whole table, 17×1 through 17×20. I split it up this way deliberately. Flags and countries have distinguishing visual features that make them easier to latch onto, but multiplication facts all look roughly the same at first glance. A set of twenty questions is a lot when you’re getting half of them wrong and trying to remember which ones tripped you up. Ten questions is much more manageable — you can run through a set, remember a couple of the questions you missed, restart, and improve. Once the first ten feel solid you move to the back ten, and then you do the whole table as a check.
Another extremely important design choice for me was to ensure that the wrong answers weren’t random. If the question is 8×7, the options won’t be 56, 12, 300, and 7. They’ll be things like 54, 63, 48, and 56 — numbers that are close to the real answer and that correspond to common mistakes. Neighbouring products, off-by-one errors, digit transpositions, confusing it with a nearby fact. The distractors are generated algorithmically to be plausible, which means you can’t game the quiz by eliminating obviously wrong answers. You have to remember the correct answer.
There’s also a mixed mode where you can do 20, 40, 100, 200, or all 400 facts shuffled together from every table.
Countries
The countries game gives you an interactive map and a prompt like “Find Portugal”, and you click where you think it is. If you’re right, the country fills in and you move to the next one. If you’re wrong, it flashes red, tells you the name of the country you actually clicked on, and keeps the same target active so you can try again. Every wrong click is recorded so you can see at the end which countries gave you trouble and how many attempts each one took.
The map covers six regions: World, Africa, the Americas, Asia, Oceania, and Europe, and after clicking on any given region the map will frame appropriately so you’re not staring at a world map trying to find Monaco. You can pan, zoom, pinch on mobile, and use keyboard shortcuts. Micro-states that are too small to see/click like Monaco or San Marino show up as circular markers so they’re still playable.
The dataset is 197 countries: the 193 UN member states plus Palestine, Vatican City, Kosovo, and Taiwan. Dependent territories like Greenland and Puerto Rico appear on the map but aren’t part of the quiz, instead, they render in as a neutral colour so the map still looks geographically complete.
Flags
The flag game is structurally the same as the multiplication quiz with four options, instant feedback, auto-advance, but instead of numbers you’re shown a flag and asked to identify the country. The key design challenge here was making the wrong answers hard. If you’re shown the flag of Brunei and the options are Brunei, Japan, Brazil, and Canada, then Brunei’s flag is very clearly going to stand out in a group of some of the most popular countries in the world. So the distractor engine scores every country pair on visual similarity: shared colours, similar layouts (horizontal stripes vs. vertical stripes vs. a canton), common symbols (stars, crescents, crosses), pan-African or pan-Arab colour palettes, Union Jack canton overlap, and whether they’re in the same geographic region. There’s also a list of explicitly confusing pairs: Ireland and Côte d’Ivoire, Romania and Chad, Australia and New Zealand, Monaco and Indonesia, these pairs all get weighted heavily so they show up as options together. The result is that at least one of the four choices is always a genuinely plausible alternative.
Design decisions
The whole site is built in React with TypeScript, Vite, and React Router, and it runs entirely in the browser so no server or databases. Preferences like your theme, language, and auto-advance setting live in localStorage but nothing else does. I wanted this to be something you could open in a tab and start using in two seconds without creating an account or waiting for anything to load.
It supports eight colour themes plus an auto mode that follows your operating system, and the full interface is available in English and French, including all 197 country names. You can switch themes or languages mid-quiz without losing your progress.
Does it actually stick?
The concern I had from the beginning was retention. It’s one thing to grind through a set of flags and get them all right in the moment — it’s another to still know them a month later, or a year later. I didn’t do a formal study, but I can speak to my own experience: it’s been about two years since I first went through all of this, and I’d estimate I retain roughly eighty-five percent of everything without having done any real maintenance practice. Some of the more obscure flags have faded, for instance I might hesitate when given the option between the Bahamas and St.Lucia, but the geographic locations and the multiplication facts have held up remarkably well. I still know where Turkmenistan is. I still know that 17×13 is 221.
What’s next
The underlying architecture is set up to be extensible. The quiz engine pattern — shuffled questions, distractor generation, feedback loop, results screen — generalizes to basically any domain where you want to build automatic recall. I’m planning to add the periodic table, the solar system. I think the next subject area is going to be human anatomy, for instance, if I ask you to point to the humerus, could you show me where in the body that bone is? That’s the same kind of question as “find Chad on the map,” and I believe it will work well with the same style of practice.
Question, answer, feedback, next. Repeat…