SiWriter·2026
SiWriter 2026 · A five-pad chord keyboard, reimagined for the browser

SiWriter 2026
Type with five fingers.v2026.05.12

A single web page that turns a phone, tablet or laptop into a chord keyboard — five touch pads, thirty-one letters, one finger combination at a time. Now also a Bluetooth keyboard and mouse for any computer in earshot. Free, offline, yours to keep.

Watch the chord → _
§ 01 — The Premise

Five fingers,
thirty-one keys.

A chord keyboard types whole letters with combinations of finger presses, the way a piano types whole notes with combinations of keys.

The idea isn't new. In 1978, Cy Endfield's Microwriter let writers compose at speed using only one hand — five buttons, memorised by feel. Forty-seven years later, SiWriter ports that idea into a single HTML file you can save, share, AirDrop, or pin to your home screen. No app store, no account, no telemetry.

One finger is the thumb (Space). Four are the fingertips (E, O, S, U). Press them in combination and the chord becomes a letter the moment your last finger lifts. After an evening's practice you'll be typing words. After a week, you'll be writing.

Chording is to the keyboard what shorthand was to the pen — once your hand learns it, your thoughts run faster than your fingers.

Why a single HTML file? Because the simplest things last longest. SiWriter has no server, no build step, no dependencies you don't already have. Open it in any browser made in the last decade and it just works. Save it to a USB stick and it'll still work when the cloud has long since moved on.

§ 02 — How It Works

Two postures.
One document.

SiWriter 2026 has two modes, and which one you're in is decided by how you're holding the device. Rotate the phone, change modes. There's no button.

Landscape

Chord Mode

Hold the phone sideways. Five pads spread across the top of the screen, controls (CAPS, NUMS, DEL) on the left. Press finger combinations; release to type. The pads are large, the layout is adjustable, and your hand learns it in an afternoon.

Portrait

Edit Mode

Hold the phone upright. The chord pads disappear; the text fills the screen, and the iOS keyboard slides up. Use it to fix a typo, select a sentence, paste from somewhere else — anything you'd normally do in Notes. Portrait is also where the optional 🖱 trackpad lives — see § 06.

Both modes write into the same document. Type a paragraph in landscape, twist to portrait to fix a comma, twist back to keep going. The cursor stays where you left it. Nothing converts, nothing uploads, nothing reformats.

If something feels stuck

SiWriter sits on top of three browser systems that don't always agree with each other: touch events, screen rotation, and the iOS keyboard. Occasionally a tap is missed, a pad sticks, or the keyboard refuses to dismiss. Twist the phone — landscape to portrait and back. The mode change forces a clean redraw and almost always clears the gremlin.

A promise

No text is ever lost. Every chord, every keystroke, every fix is written to your current article the moment you make it. Close the tab, lose Wi-Fi, drop the phone, switch hands, sign out — when you come back, your document is exactly as you left it.

The article system

SiWriter doesn't have files; it has articles. Every session writes into the current dated article automatically, with a timestamp marking where you came back to it. The visible buffer at the top of the screen shows just the last sentence — that's deliberate, so you can see the line you're chording without distraction — but the whole article is always there underneath.

Open Menu → Articles to see the full list. From there you can rename, edit, copy to clipboard, transfer or share via the OS share sheet, save the visible buffer as its own article, or delete the lot. Menu → New Article starts a fresh dated one whenever you want a clean slate. Articles are stored per user, locally, with no expiry.

§ 03 — First-Run Setup

One minute
to fit your hand.

The first time you open SiWriter 2026, every pad is in a row at the top of the screen. That's not the layout — that's the starting position. The next minute is yours.

  1. Open the Menu

    Tap the ⚙ menu icon in the top-right corner of the screen. The menu lists every customisation option SiWriter supports — pads, voice, hand, background, articles, Bluetooth.

  2. Select Adjust Pads

    Pick Adjust Pads from the menu. The screen dims and every pad becomes draggable. Take your time.

  3. Drag each pad under your fingers

    Hold the phone the way you'd actually use it, then drag each pad to the spot where that finger naturally rests. Thumb, index, middle, ring, little — slide them around until your hand sits over them without strain.

  4. Resize each pad to fit

    Drag the bottom-right corner of any pad to change its width and height independently. Bigger for the index if you press hard, smaller for the little finger if it's awkward — every pad is sized on its own.

  5. Save it as your default

    When you're happy, tap Done. Your layout is saved automatically against your sign-in name. Tap Set Default in the same panel and that layout becomes the starting point every time you sign in on this device — or leave it as it is and the row-at-top default returns next time.

  6. Optional: tilt the pads to match your grip

    Most people don't hold a phone perfectly square. Pick Menu → 🎯 Rotate Pads, drag the slider to any angle (presets at 0°, 90°, 180° and -90° if you prefer a clean number), and tap Save. The eight chord pads — 1 to 5 plus Caps, Nums, Del — pivot together around their shared centre. The text box, menu and chord display stay upright, so your reading surface doesn't move. Saved per user, alongside your other layout choices.

Take your time

Personal pad placement can take a while to get right — try a layout for a paragraph or two, twist to portrait to read what you wrote, then twist back and adjust. Everything is saved under your login name, so you can sign out, change devices, sign in again, and pick up where you left off. There's no commitment.

§ 04 — The Alphabet

Every chord, all at once.

Each cell shows a character and the finger combination that produces it. Filled circles are pressed pads. Read left to right: thumb, index, middle, ring, little.

Modifiers. CAPS shifts the next letter (or all letters, if double-tapped). NUMS switches to the numeric layer. CAPS + NUMS together unlocks the symbol layer above. DEL removes the last character. Everything else is muscle memory.

§ 05 — What's New in v2026.05.12

Built for the small screen,
tuned for the long haul.

A

Five pads, two hands

Lay out for either hand and the entire keyboard mirrors. Adjust each pad to the spot your fingertip naturally rests, then resize it to taste. The layout saves per user.

B

Spoken output

Hear what you've written, word by word or sentence by sentence. Use the device's built-in voice or plug in an ElevenLabs voice clone of your own.

C

Lives in the clipboard

Everything you chord is also synced to the system clipboard, so a long-press → Paste in any other app drops your text there ready to send.

D

Multi-user, persistent

Sign in with a name and your text, pad positions, and preferences stay with you across sessions. Add a custom background image to make it your own.

E

Installable

Add to Home Screen on iOS or Android and SiWriter behaves like a native app — full-screen, offline, with its own icon.

F

One file, no servers

The entire program is a single HTML document. Open it from a server, a USB stick, or an email attachment — it doesn't care.

G

Rotate to your grip

Tilt the eight chord pads — fingers 1-5 plus Caps, Nums and Del — to any fractional angle so they line up with the way you actually hold the phone. Saves per user.

H

🅱 Bluetooth keyboard

A small Wi-Fi+BLE bridge (Pico W, ESP32 or M5StickC Plus — your choice) lets SiWriter type into any computer it's paired to over Bluetooth. The Mac sees a normal wireless keyboard. See § 06.

I

🖱 Mouse mode

Portrait-only trackpad surface drives the same paired computer. One-finger drag = move, tap = click, two-finger tap = right-click, two-finger drag = scroll. Adjustable sensitivity. Hidden in landscape so chording is never interrupted.

J

Multi-Wi-Fi bridge

The bridge tries every Wi-Fi network you list at boot — home, work, hotspot — and joins the first one reachable. If none are, it falls back to its own access point. Wherever you go, the keyboard goes with you.

Spoken output, in your own voice

Get your voice back.

SiWriter 2026 will speak each word, or each sentence, the moment you finish chording it. The device's built-in voice works fine — but if you used to have a voice that doesn't sound like you any more, there's a better option.

elevenlabs.io can build a clone of your voice from any recording you already have — an old answerphone message, a wedding toast, a podcast appearance, a home video. Anything from before your voice changed. Upload the recording, follow their instructions to make a voice, and the service gives you two things: an API key and a Voice ID.

In SiWriter, open Menu → Speech (top-right ⚙ menu), pick ElevenLabs Clone as the engine, paste the API key and the Voice ID into the two fields, then choose Speak each word or Speak each sentence. From the next chord onward, what you write comes out in the voice you used to have.

Why this exists

I know it works because that's why I wrote this part. Thyroid cancer, in my case. If you or someone you love is in the same place — voice gone, or going — try it. The clone is not perfect. It is, however, recognisably you, and after a while that matters more than perfection.

A note on the moving parts. ElevenLabs is a paid third-party service (with a small free tier). SiWriter never sees your key — it sits in the browser's local storage on your device and is sent directly to ElevenLabs when speech is requested. You can change or remove the credentials any time from the same Speech panel.

§ 06 — Two ways to use SiWriter

Pick the right
URL for the job.

SiWriter has two complementary modes that look identical but behave differently. The page you open decides which one you get.

Mode A · Online

Chord into the phone

https://your-site/SiWriter_2026.html

The familiar single-page web app. Open it from anywhere with internet, sign in, chord into the local buffer. Articles, speech, clipboard, recordings all work. The Bluetooth-keyboard relay does not work in this mode because browsers refuse to make plain-HTTP requests from an HTTPS page (mixed-content blocking).

Use this when… You just want to chord on the phone.
Mode B · Bridge

Chord into another computer

http://192.168.4.1/

The same SiWriter HTML, but served by the bridge itself over plain HTTP. Because the page and the keyboard API live on the same origin, the browser allows the Bluetooth-keyboard and trackpad features. Internet isn't needed — the phone is on the bridge's own Wi-Fi.

Use this when… You want to type into a Mac, PC, iPad or Android.
⚠ One URL, one mode. You can't get Bluetooth typing from the online URL, and you can't load the online URL while connected to the bridge's Wi-Fi. Bookmark both — switch when the task changes.

Mode B in seven steps

First-time bridge setup. After this you can skip to step 5 every time.

  1. Flash the bridge once

    Pico W, ESP32 or M5StickC Plus — each firmware folder has its own README walking you through Arduino IDE or CircuitPython install. Plug in, upload, done.

  2. Pair the bridge to your computer

    On the Mac/PC: System Settings → Bluetooth → look for SiWriter Remote → Pair. No PIN. From this point on the computer treats the bridge as a normal wireless keyboard.

  3. Bridge boots into its own Wi-Fi

    Every time you power the bridge it advertises a Wi-Fi network called SiWriterWiFi at 192.168.4.1. No password by default. The M5's LCD shows this; the plain ESP32 prints it to USB serial.

  4. Join the bridge's Wi-Fi from your phone

    iPhone/iPad → Settings → Wi-Fi → SiWriterWiFi → Join. Accept "no internet" if it asks — that's expected. The bridge isn't a router, it's just a relay.

  5. Open the bridge URL

    Safari/Chrome → http://192.168.4.1/. SiWriter loads served directly from the bridge. Sign in or continue as guest.

  6. Turn the relay on

    Menu → 🅱 Bluetooth Keyboard → tick Send keystrokes to keyboard. Tap Test connection — should say BLE connected. Tap Send "Hello!" to confirm it types on the Mac.

  7. Chord

    Everything you chord from now on appears on the Mac. Rotate to portrait to get the optional 🖱 trackpad. Rotate back to landscape to chord again. Power the bridge off when done — your last layout, articles and recordings all stay saved.

Tip

After the first run, only steps 4–7 matter day to day: phone joins SiWriterWiFi → browse 192.168.4.1 → chord. Bookmark the bridge URL on your home screen alongside the online one, and you can switch modes in two taps.

§ 07 — The Bluetooth Bridge

Chord on the phone.
Type on the laptop.

A small piece of hardware — about £6, the size of a coin — lets SiWriter act as a real Bluetooth keyboard and mouse for any computer in the room. The Mac, PC or iPad sees a normal wireless keyboard. It has no idea a phone is in the loop.

The phone never tries to be a Bluetooth keyboard itself — Apple and Google both reserve that role for the operating system. Instead, the bridge does it: a tiny board that joins your Wi-Fi, accepts HTTP requests from SiWriter, and converts them into Bluetooth HID keystrokes (and mouse moves) that the paired computer takes at face value. Pair the bridge once from your laptop's Bluetooth settings, and after that it just types.

Three hardware options

Pick whichever board you can get hold of cheapest. The firmware speaks the same JSON API on all three, and SiWriter's Menu → 🅱 Bluetooth Keyboard panel drives them identically.

Option A · CircuitPython

Raspberry Pi Pico W

The cheapest and smallest. Drag-and-drop firmware install via the CIRCUITPY drive. Built-in BLE, built-in Wi-Fi.

  • Folder: pico_bt_keyboard/
  • Lang: CircuitPython 9.x
  • Price: ~£6 GBP / $7 USD
Option B · Arduino

ESP32 dev board

The classic. Any board with the original ESP32 chip works (DevKit V1, WROOM-32, S3, C3 …). Flashed from Arduino IDE.

  • Folder: esp32_bt_keyboard/
  • Lang: Arduino C++
  • Price: ~£5 GBP / $6 USD
Option C · Arduino + LCD

M5StickC Plus

The premium choice. Built-in colour LCD shows live BLE status, Wi-Fi network, IP and keystroke counter. Has a battery too — it runs untethered for hours.

  • Folder: m5stickc_plus_bt_keyboard/
  • Lang: Arduino + M5StickCPlus lib
  • Price: ~£20 GBP / $25 USD

🖱 Mouse mode (portrait-only)

Tick Mouse mode in the Bluetooth Keyboard panel and adjust the sensitivity slider. A floating 🖱 button then appears in the bottom-right — but only when the phone is in portrait, never in landscape. The chord keyboard is never disrupted.

Tap 🖱 to open a full-screen trackpad surface. One-finger drag moves the cursor. A short tap is a left click. Two-finger tap is a right click. Two-finger drag scrolls. Dedicated Click / R-Click / Done buttons sit along the top.

The same paired BLE device acts as both keyboard and mouse — one Bluetooth pairing, two transports.

Multi-Wi-Fi, multi-place

The bridge firmware accepts a list of Wi-Fi networks (home, work, café, phone hotspot…). At boot it tries each in order and joins the first one reachable. If none are, it falls back to its own access point, SiWriterESP32, on 192.168.4.1 — so the bridge is always usable as a self-contained device too, even off-network.

Why is the iPhone never the Bluetooth keyboard itself? Three reasons. (1) iOS doesn't expose a public API for an app to act as a Bluetooth HID peripheral. (2) Web browsers on iOS have no Bluetooth API at all — all use WebKit, which deliberately omits Web Bluetooth. (3) An iPhone is already in the host role for its own Bluetooth keyboards; combining host and peripheral on one device isn't supported. The bridge sidesteps all three.

§ 08 — Get it

Free. Always.

Two downloads. The SiWriter HTML on its own — or the full bundle with all three firmware sketches and a README — if you're going to build a bridge.

SiWriter_2026.html

Just the chord keyboard. Open in any modern browser. Optionally, host it somewhere — a free GitHub Pages or Netlify Drop URL — so you can Add to Home Screen and use it offline like a native app.

v2026.05.12 · single-file · ~340 KB
Full bundle

SiWriter_2026.05.12.zip

Everything in one zip: SiWriter HTML plus all three firmware folders (Pico W, ESP32, M5StickC Plus) and a top-level README listing the shared HTTP API and what's new in this release.

↓ Download zip
~200 KB · all sources · MIT-friendly
Firmware

Bridge sources

If you'd rather grab a single firmware folder, all three are inside the zip. Each ships with its own README walking you through pairing, Wi-Fi setup, and the Arduino IDE / Thonny steps to flash.

• pico_bt_keyboard/
• esp32_bt_keyboard/
• m5stickc_plus_bt_keyboard/

§ 09 — Setup & Install

Three ways to run it.

Pick the one that fits how you work. The first is fastest, the third gives the best on-phone experience.

  1. In a browser

    Click Launch SiWriter at the top of this page. It runs in any modern desktop or mobile browser. Closing the tab loses the session, so this is best for quick tries.

  2. From a hosted URL

    Drop the HTML on a free static host — Netlify Drop, GitHub Pages, Cloudflare Pages — and use the resulting https://… URL. On iPhone / Android, open it in Safari or Chrome and tap Share → Add to Home Screen. From then on it runs full-screen and offline, with its own icon.

  3. As a local file (advanced)

    You can save the file to disk and double-click it. Note: on iPhone, opening an HTML attachment goes through iOS Quick Look, which doesn't deliver tap events to the page. Use the Documents by Readdle app (free) to open local HTML on iOS properly — or just host it once and add it to your home screen.

  4. With a Bluetooth bridge

    Optional. Buy a Pico W, ESP32 or M5StickC Plus. Flash the matching firmware from the zip (Arduino IDE for ESP32 / M5, drag-and-drop CircuitPython for Pico W). Pair it from your computer's Bluetooth settings — it advertises as SiWriter Keyboard. In SiWriter, open Menu → 🅱 Bluetooth Keyboard and tick Send keystrokes to keyboard. Done.

§ 10 — Questions

Frequently raised eyebrows.

Why would I want to type without a keyboard?

You wouldn't, on a desktop. SiWriter is for places a keyboard can't go — on a phone in landscape, on a wrist, on a one-handed accessibility setup, or when your other hand is doing something else (driving a wheelchair, holding a cup of tea, balancing a book). It's also a useful exercise in muscle memory: chording forces a different relationship with text than tapping ever does.

How long does it take to learn?

An hour to type a sentence. A week to type fluently. Forever, if you want to chase top speed — Microwriter veterans clock 60 wpm, but most people plateau pleasantly around 30. The five most common letters (E, O, S, U, plus space on the thumb) are single fingers by design, so you start fast.

Do I need the Bluetooth bridge?

No. SiWriter is fully useful on its own — chording into its own text buffer, with everything copied to the clipboard automatically. The bridge is for when you want to type into another computer over Bluetooth, the way a wireless keyboard would. If that's not something you need, ignore § 06 entirely.

Why does the iPhone need a separate gadget for Bluetooth?

Three reasons stacked. iOS doesn't let apps be Bluetooth keyboards. Web browsers on iOS don't support Web Bluetooth at all. And the iPhone is already in the "host" role for its own Bluetooth keyboards, so it can't also be a "peripheral" — even if the first two limits didn't apply. The bridge sidesteps all three by being a small dedicated piece of hardware whose only job is to be a Bluetooth keyboard.

Where does the mouse cursor go in landscape?

Nowhere — it's deliberately disabled. The 🖱 floating button only appears in portrait orientation, so landscape stays a pure chord keyboard with no risk of accidental mouse events. Rotate to portrait when you want to point at things; rotate back to landscape to chord. You can also turn Mouse mode off entirely in the Bluetooth Keyboard panel.

Something feels stuck — a pad won't respond, the keyboard won't dismiss…

Twist the phone. SiWriter switches between chord mode (landscape) and edit mode (portrait) the moment you rotate, and the rotation forces the browser to redraw cleanly. That's almost always enough to clear whatever was confused. If it isn't, sign out and back in — your text is safe in the current article either way.

Will I lose my text if the tab closes or the battery dies?

No. Every chord, every keystroke, every fix is written to the current article the moment you make it. Articles live in your browser's local storage, attached to your username, and survive tab closures, reboots, and sign-outs. The only way to lose them is to clear the browser's site data or delete them yourself from Menu → Articles.

Can I use it as the system keyboard in other apps?

Not directly — Apple and Google reserve that for native keyboard extensions. But if you have a Bluetooth bridge (§ 06), you can. The bridge looks to the computer like a normal wireless keyboard, and what SiWriter chords appears in whatever app has focus. Without a bridge, SiWriter copies your text to the clipboard automatically — long-press → Paste drops it anywhere.

Where is my data stored?

In your browser, on your device. SiWriter has no server and no account. Sign-in is local — usernames just keep separate slates inside the same browser. Clear your site data and SiWriter forgets everything. The bridge similarly has no analytics — it's just a tiny HTTP server speaking BLE on the other end.

Is the source code open?

Yes. The HTML is the source — open it in any text editor and read the whole program. The bridge firmware lives in the three folders in the zip, all readable C++ or CircuitPython. There's nothing else.