Product Launch

FROM "LET'S BUILD A KEYBOARD" TO COMPOSER — OUR ROAD TO PUBLISHING AN APP ON APPLE APP STORE

Hayk P. ·
← Back to All Posts

How we started with a custom keyboard, hit iPadOS walls, and shipped a privacy-first composer that feels right with Magic Keyboard.

We set out to ship a Phonetic keyboard for iPad. The on-screen part worked—but iPadOS doesn't let third-party keyboards reliably remap hardware keyboards system-wide. Rather than ship a half-solution, we pivoted to an iPad app—Composer—that delivers fast phonetic typing (especially with Magic Keyboard), autosave + notes, a key layout guide, and a strict offline, no-tracking stance. It's now approved for the App Store.

The Problem We Are Addressing

If you type Armenian, a phonetic layout (QWERTY → Armenian letters) is second nature. iPadOS, however, doesn't include Armenian Phonetic. Some third-party keyboards exist, but many ship with broad data-collection clauses. We wanted:

  • A layout Armenians actually use: phonetic
  • Privacy-first: offline, no analytics, no accounts
  • Works with hardware keyboard (Magic Keyboard)

Phase 1 — The Keyboard Extension

Goal: A system keyboard you can pick in any app.

CSV → keys on screen: We defined the layout in a CSV. First speedbumps: BOM/line endings broke our parser; we fixed detection and normalized headers. "White keyboard": The extension booted with zero keys when CSV failed—we added error label + fallback layout. Constraints: Initial height locks fought UIKit; we switched to gentle constraints.

Signing, bundles, and install: Duplicate bundle identifiers, Embed & Sign issues, CFBundleExecutable missing, UIDeviceFamily warnings—all fixable. The on-screen phonetic keyboard worked.

Then came the hard stop: hardware keyboards. With a Magic Keyboard attached, our number/symbol row still typed digits in other apps. iPadOS routes physical keys through Hardware Keyboard Layout before third-party keyboards can remap them.

"iPadOS does not let a third-party keyboard extension globally remap a hardware keyboard across apps."

Phase 2 — The Pivot to Composer

Decision: Build an iPad app where we control the editor, so hardware keys map exactly the way Armenian phonetic writers expect.

What we built:

  • Phonetic mapping for letters and punctuation
  • Smart punctuation: Auto-capitalize after Armenian period and Return
  • Keyboard layout guide: Full-screen, segmented
  • Notes + autosave: Named notes plus background draft
  • Copy/Share on the assistant bar
  • iPad-only UI: Compact top bar, no clutter

The sticky UI bug: When returning to the app, iPadOS sometimes auto-scrolled. We tried multiple approaches and settled on freezing viewport briefly on foreground, blocking auto-scroll methods, then restoring exact offset + selection. Zero motion on return.

Shipping Details

  • Privacy manifest (ITMS-91056): Must be plist, not JSON. Include version keys, leave arrays empty if collecting nothing.
  • Export compliance: Set ITSAppUsesNonExemptEncryption = NO
  • iPad-only: TARGETED_DEVICE_FAMILY = 2
  • Company/DSA: App Store Connect may block if missing
  • TestFlight blank page: Usually no processed build yet

Composer Today

Armenian Phonetic typing, Magic Keyboard friendly, auto-caps, notes + autosave, copy/share, keyboard layout guide, iPad-only, privacy-first.

Need Help With Your Website?

WE'RE
HERE.

Whether it's a new build, a security issue, or just a question — reach out. First consultation is always free.