I type on Colemak every day, and a few months ago I decided I wanted to learn Graphite — a newer layout that promises lower same-finger bigrams and better rolls than Colemak. The problem is that every typing tutor I tried treated layout learning as a single monolithic task: here is the full alphabet, type these random English sentences, good luck. That approach is brutal because your brain is trying to remap thirty keys simultaneously while also parsing real words, and you spend most of your time hunting for letters you haven't built muscle memory for yet. What I actually wanted was something closer to how you learn a musical instrument: start with a tiny subset of notes, drill them until they're automatic, then add one more, then another. I also realized the problem doesn't end once you've "learned" a layout. Even after years on Colemak, I still have specific bigrams I consistently fumble — and no tutor I tried would notice that and generate text targeting those specific weaknesses. Generic English passages waste most of your practice time on bigrams you already type fluently, when the whole point of practice is to spend time on the things you're bad at. The third frustration was layout optimization tools. There are great projects that score and optimize keyboard layouts based on corpus statistics and ergonomic heuristics, but they all optimize for an abstract average typist. My fingers are not the average typist's fingers — I have my own quirks, my own weak rolls, my own scissors I keep hitting — and a layout that's theoretically optimal for the English language might be worse for me than one tuned to my actual miss patterns. So Typsy started as three frustrations stacked on top of each other: layout learning should be progressive, daily practice should be personalized to your weak bigrams, and layout optimization should account for your hands, not a statistical average. Once I saw all three problems shared the same underlying data — per-ngram hit/miss/timing statistics for a specific user on a specific layout — it became obvious they should all live in the same tool.

Built With

Share this project:

Updates