Inspiration

Writing a message should not require moving between a recording app and the place where the message belongs. ARA puts dictation in the keyboard and keeps speech processing on the device. It serves people who prefer speaking to typing and want control over their voice and writing.

What it does

Select ARA in a supported text field. Speak into the microphone and finish the recording. ARA inserts the transcript where you are writing.

The keyboard provides sentence cleanup, local word suggestions, a personal dictionary, and reusable text snippets. The dictionary stores names and specialist terms. Snippets store text that users need repeatedly.

Speech recognition runs on the device. Offline availability depends on the language and speech resources installed on the device. On supported iOS 26 devices, Apple Foundation Models can improve cleanup. ARA uses local rules when that model is unavailable.

How it works

ARA uses Swift, SwiftUI, UIKit, Apple's Speech framework, and AVFoundation. iOS keyboard extensions cannot record microphone audio. The main app records speech and sends commands and text through a local App Group.

The user enables this connection and can stop the microphone session from the app. iOS shows its microphone indicator while the session is active. Full Access enables the local connection. The keyboard extension contains no network or purchase code.

RevenueCat runs in the main app. It loads the purchase, handles purchase and restore requests, and checks access. The keyboard reads a local access flag. Voice, transcripts, typed text, dictionary entries, and snippets stay on the device. RevenueCat and Apple process purchase information.

Challenges

The central challenge was coordinating two separate processes under iOS microphone restrictions. The keyboard needs clear states when the main app cannot record or the local connection is unavailable. ARA separates microphone state, text processing, and purchase access so each part has a defined role.

Text correction also needs to respect the user's edits. The released version preserves the user's spelling after they undo a correction during the keyboard session. It leaves ambiguous replacements unchanged.

What the project achieved

ARA reached the App Store in September 2026. It combines dictation, cleanup, vocabulary, and snippets in one keyboard workflow. Its main app and keyboard share local data without sending writing to a server. RevenueCat supports a lifetime purchase without adding purchase code to the keyboard.

What the project taught us

The iOS microphone restriction shaped the architecture and the interface. A visible recording state matters as much as the transcription result. Local processing also requires clear explanations of language and device support.

Business model

ARA offers a seven-day trial and a single lifetime purchase. The current US lifetime price is $19.99. Other countries use localized store prices. The purchase has no recurring subscription. RevenueCat manages the lifetime access entitlement and restoration.

Next steps

The next priorities are microphone reliability and better English and Polish word suggestions. Further speech engine work remains an investigation.

Built With

Share this project:

Updates

Submission history