KASROZ: An Optimal Keyboard for Swipe - FUTO
AnnouncementJune 23, 2026<br>KASROZ: An Optimal Keyboard for Swipe<br>Why not QWERTY?
QWERTY was designed in the 1800s for two-handed mechanical typewriters.<br>As a layout, the key optimization places common bigrams on<br>opposing levers so adjacent strikes wouldn't jam. This remains a popular<br>format even today, despite being optimized to solve a problem most of<br>us will never encounter in the future.
Although there are other layouts which are optimized to enable faster typing,<br>speed is a combination of the optimal layout in conjunction with the<br>user's familiarity with it. Familiarity is primarily what has<br>dictated the widespread adoption of QWERTY. So, if you haven't switched<br>from a QWERTY keyboard, why should you consider switching for swipe?
Swipe input is a fundamentally different method of input,<br>where optimal can mean many things, speed being only one of those<br>considerations. However, unlike physical keyboards, the layout of<br>letters on a swipe keyboard determines how well your swipe<br>gestures can communicate a target word.
If you are an experienced swiper, you've no doubt been frustrated by<br>certain words and character sequences that are difficult to swipe.<br>Words that swipe through multiple letters in straight lines are especially<br>egregious. The only way to indicate your intention of multiple letters<br>along a straight line is to pause on the letter before moving on. It comes down to a poor<br>user experience (UX) that is driven by the key arrangement.
After we finished building what we feel is a truly great swipe model for<br>QWERTY, we realized we had learned quite a few things about swipe. And<br>out of that development process, we felt we had the knowledge and a unique<br>new tool to create the world's most accurate swipe-native keyboard layout.
ClearFlow and the Proxy Problem
We are not the first to attempt this. In fact, it already has some<br>well-established history, going back over a decade.
ClearFlow is the O.G. swipe-optimized layout.<br>It places letter keys on a 5-row, 4-6-6-6-4 ortho grid. For 26 keys, this is a<br>great choice! One reason that makes QWERTY a bad layout for swipe is that<br>it is very wide, placing many keys in single rows. This results in<br>many words that have multiple characters along a single line. By changing<br>3 rows into 5, ClearFlow's square-ish layout causes words to have more varied and distinctive<br>shapes.
ClearFlow's optimization uses a shape-similarity cost. For each<br>pair of words in a vocabulary, compute a geometric path-similarity<br>measure between their synthetic swipes. Words that produce easily<br>confusable swipes result in a high cost. Once the cost is<br>calculated for the layout over the entire vocabulary, a comparison<br>between layouts can decipher which one is better.
For its objective, ClearFlow performs well:<br>word pairs separate visually, rare letters land on the periphery,<br>finger travel is short. However, shape-similarity is relevant<br>to older, algorithmic decoders, and may not be relevant to modern<br>high-accuracy neural decoders.
This optimization objective is a proxy for what we really<br>care about, decoding accuracy. "Two paths trace different curves" is<br>often aligned, but not always the same as "the decoder can read each path as its<br>target word."
Optimization for Humans Using Neural Decoders
Most neural decoders are trained for a specific layout. When we created our<br>models, we wanted to create a model that could operate on any layout. Because<br>we support so many languages, with many different layouts, we felt this was<br>a "must-have" feature. It took some effort to figure out how to do it. You can<br>read all about it in our upcoming technical report. But we did it.
And the way we accomplished it was not by memorizing shapes, it was teaching<br>the model to determine when and where a user intends to select a letter.<br>If the model doesn't know what the layout is, or what language it's being<br>used for, then the only thing left for the model to learn is how to<br>pick out precisely when and where the user is trying to indicate a letter.
And that's when it hit us. The model has seen over a million examples of<br>how people swipe. It is an expert at turning gestures into letters.<br>The biggest friction is a frustration shared by people and the neural decoder<br>alike. The layout is not well organized to enable people to make their<br>intentions known to the computer. Not only did we understand the<br>mechanism, but we already had the tool in hand to measure it, the<br>model itself.
How to Optimize a Layout
Now that we know where we're headed, let's get into the weeds.<br>For each of ~160k vocabulary words, create a synthetic swipe<br>path through the candidate layout's letter<br>centers, and run each one through the encoder. Then, take the negative<br>log-likelihood of the target sequence, and sum over the vocabulary<br>weighted by word frequency (prioritize more common words first).<br>We add a small ergonomic counterweight to estimate per-leg travel time<br>(25% of the total), to balance...