FUTO Swipe: Open-Source Neural Swipe Typing Models

FUTO Swipe provides an open alternative to proprietary swipe typing

FUTO Swipe is a family of open models and algorithms designed to bring high-accuracy swipe typing to the broader developer community. Historically, high-quality swipe typing has been restricted to private libraries or privacy-invasive keyboard applications. FUTO Swipe aims to solve this by providing open models that can be integrated into other applications or used within the FUTO Keyboard Android app.

Architecture: A Three-Model System

FUTO Swipe achieves its accuracy through a layered architecture consisting of three distinct model types:

  • Encoder Model: A universal, layout-agnostic, and language-agnostic model used for general swipe typing predictions. While versatile, it does not provide the highest level of accuracy.
  • ContextLM: A small language model trained for a specific language. It improves prediction quality by filtering out nonsensical words based on the preceding text in a sentence.
  • Decoder Model: A language-specific and layout-specific model that learns the peculiarities of a particular layout to achieve maximum accuracy. Currently, FUTO only provides a QWERTY English decoder.

When utilizing all three models with a beam width of 300, the system achieves a top-4 fail rate of approximately 4% on the test set. Excluding out-of-vocabulary cases, the error rate drops below 1%.

Efficient On-Device Footprint

FUTO Swipe is designed for low-latency execution on low-end devices. The total parameter count is approximately 2.5 million, broken down as follows:

  • Encoder: 635,140 parameters
  • Decoder: 304,155 parameters
  • ContextLM: 1.5 million parameters (including 1.1 million for embeddings)

Because of this small footprint, the models run in milliseconds on-device. The training process was similarly efficient, requiring no more than a single workstation GPU.

Data Collection and Open Dataset

To train and evaluate these models, FUTO launched a dataset collection effort in August 2024. Users voluntarily swiped sentences—primarily sourced from Wikipedia—word-by-word on the swipe.futo.org domain. This effort resulted in over 1 million swipes, which were filtered for quality and released under the MIT license on HuggingFace in March 2025.

Implementation and Integration

To translate raw swipe paths into word predictions, FUTO released the swipe-library, a C++ library that handles inference, decoding, and dictionary-constrained beam search.

Licensing and Availability:

  • Models: Available under the FUTO Model License (which requires attribution).
  • Inference Library: Released under the GPL license.
  • Android App: The FUTO Keyboard app implements these models for a fully offline experience.

Community Insights and User Feedback

Users and developers have highlighted several strengths and weaknesses of the current implementation:

Performance and Privacy

Many users report that the swipe experience is now comparable to Gboard, particularly when paired with FUTO's local voice dictation.

"Futo with the new swipe model is the first android keyboard i've used that i don't feel like i'm compromising vs GBoard."

Technical Limitations

Some users noted specific accuracy issues, such as the system occasionally swiping "whats" instead of "what's" or struggling with certain word pairs (e.g., "on/in" or "it's/its"). There are also reports of random capitalization in the middle of sentences.

Layout Ambiguity

Technical discussions suggest that the QWERTY layout itself is a bottleneck for swipe accuracy. Some users propose a new keyboard layout specifically optimized to minimize word overlap and ambiguity during swiping, similar to how Dvorak optimized for ergonomic typing.

Comparison to Other Implementations

An engineer from Grammarly noted that their iOS keyboard uses a similar neural net approach for swipe typing, though they opted for word-at-a-time decoding rather than context-sensitive decoding to better support personal dictionaries and contact names.

Sources

Related