Video summary

Why is Futo Keyboard?

Main summary

Key takeaways

Technology

Summary of Technological Concepts & Product Features (Futo/Fleksy Keyboard)

1) Privacy-first, offline keyboard design

  • Main claim: Futo Keyboard is designed to be offline.
  • Privacy rationale: Many mainstream keyboard apps collect statistics and may send/chain models based on typed data, with unclear handling of user data.
  • Technical enforcement: Futo Keyboard does not request network permission, so it cannot make network requests, even if it wanted to.

2) New theming system (ZIP-based themes + JSON configuration)

  • What’s new vs. old: Previously, themes mostly changed colors with limited customization. The new system enables deeper visual customization.
  • Theme format: Themes are importable ZIP files, containing:
    • Image assets (PNGs and other icon/background assets)
    • A JSON file defining theme behavior and styling

3) Theme capabilities defined in JSON

The JSON can control multiple aspects of the keyboard look and behavior, including:

  • Colors

    • They mention 47 changeable colors.
    • Includes Material 3-style colors (e.g., primary/secondary and similar roles).
    • Includes additional colors for other keyboard elements.
  • Backgrounds / images

    • Supports background images.
    • Includes cropping behavior (cropping may exceed bounds depending on aspect ratio).
  • Fonts

    • Uses TTF files for custom fonts.
  • Key styling

    • Key backgrounds and key icons can be themed per key type/label.

4) Responsive key rendering using nine-slice scaling

Keyboards support many key sizes, orientations, and aspect ratios, so the theme system uses nine-slice scaling for key background assets.

A single key background image can be sliced into 9 regions:

  • Corners remain fixed
  • Edges stretch horizontally/vertically
  • Center stretches in both directions

This allows themes to render correctly across different layouts.

5) Selector-based theming (target specific keys)

Each key asset is associated with a selector string describing which keys it applies to.

Examples of selector categories mentioned:

  • normal (standard QWERTY keys)
  • functional (Shift, symbols key, etc.)
  • action (e.g., Enter key)

Selectors can take arguments, such as:

  • specific label (e.g., apply to the “Q” key)
  • specific row/column
  • row/mod and column/mod selectors to introduce variation/randomness across rows/columns.

6) What cannot be fully themed

Some parts are not fully themeable:

  • Not everything is themeable

    • The action bar
    • Some menus such as the emoji menu and voice input menu
    • These are described as color-only (no custom images/icons/layout changes).
  • Theme cannot change key dimensions/layout

    • You can’t make Enter wider via theme alone.
    • Layout changes require a custom layout system (which is also supported).

7) Theme authoring tools + live preview

  • Editing JSON directly is described as not very artist-friendly.
  • A theme tool is intended to:
    • make editing easier for “artists and regular people”
    • provide live preview across multiple keyboard layouts and sizes (to verify compatibility such as fonts/sizes)

Tooling notes:

  • Described as for desktops (not intended for phone-based editing—e.g., avoiding “hex color editing” on mobile).

8) Simpler in-app theme tool (today)

There is already a simpler theme tool built into the app:

  • Easier options, but less powerful than JSON-based themes.
  • Limited capabilities:
    • adding a background photo
    • cropping
    • adjusting colors
    • toggling light/dark (and a “keyboarders” toggle is mentioned)
  • Explicitly does not support the advanced custom image/icon replacement shown in the new system.

Recent / Other Updates Mentioned

Japanese input layout / flick layout

  • Japanese was shipped recently.
  • Implementing it required refactoring code to support different input methods, creating groundwork for other complex languages.
  • Chinese Pinyin is planned next.
    • The speaker notes they didn’t do most of the Chinese work personally; it was a community pull request.

Swipe testing (prototype via QR)

  • Swipe support is referenced as being worked on by a team member (Leo).
  • A QR code leads to a web page where users can swipe on the keyboard to test a model’s behavior.

“Word art” / image generation in Fleksy

  • The app/menu includes a Word Art action.
  • It can generate images “like this” (demo-style image output mentioned).

Main Speakers / Sources

  • Alex — primary speaker explaining Futo Keyboard privacy design and the new theming system.
  • Rizzi — referenced as someone who mentioned swipe progress / team context.
  • Leo — referenced as the person tasked with “getting swipe done.”
  • Additional team / open-source contributors — mentioned via a pull request for Chinese Pinyin (not a named individual).

Original video