Inspiration
Being unable to speak does not mean having nothing to say. Sometimes you can type a sentence. Sometimes you need someone to read it. Sometimes even composing a message is too much, and the words need to be ready already.
Aloud brings those situations together. It is designed for people whose speech is difficult, unreliable, or temporarily unavailable, including autistic adults and people living with aphasia.
What it does
Type a message and tap Speak to hear it in your chosen voice. Save everyday phrases so familiar requests take one tap. Use Big to show a message across a conversation, and Turn to them to orient it toward the person reading.
For harder moments, prepare a card and five answers in advance. Open the card from the app or its Lock Screen widget, show an answer large, or choose to speak it. Hand-over chat gives each person a place to type on the same screen.
Typing, speaking, and the card remain free. A lifetime unlock adds unlimited everyday phrases, optional iCloud sync, and Personal Voice on supported devices and locales. There is no subscription.
How we built it
Aloud is a native SwiftUI app. AVFoundation handles speech. The ordinary Speak path uses the user's exact draft; it does not ask a language model to approve or rewrite it.
An optional Other wording action uses Apple's on-device Foundation Models on supported devices, operating systems, and locales. It runs only when requested. When it is unavailable, the manual communication path remains available.
RevenueCat handles the lifetime purchase and restore flow through the paid entitlement. The paywall reads the current offering and its localized price, including an assigned pricing-experiment variant. Purchase state does not gate the hard-moments card or free type-and-speak.
Communication content is stored on-device and can sync through the user's private iCloud database when enabled. RevenueCat handles purchase information and Firebase supports product analytics; Aloud should not be described as collecting no data.
Challenges we ran into
A communication app needs dependable fallbacks. An unavailable language model must not interrupt speaking. An unavailable offering must not prevent opening the card. An optional voice unavailable on the current device needs a working system-voice fallback.
Localization also reaches beyond translated buttons: the selected app language and region affect voice selection, model availability, and which device-dependent features can honestly be offered.
Accomplishments
Aloud connects everyday speech, large-text display, prepared answers, and two-way typed communication in one native interface. The essential communication paths remain available without purchasing an unlock. The app ships English, Spanish, Italian, and Japanese localizations.
What we learned
The same words may need a different presentation from one moment to the next. Choosing whether to speak, show, rotate, or hand over a message is part of communication itself. Aloud gives those choices a direct place in the interface.
What's next
Learn from real use after release, especially how quickly people reach their prepared words and how well conversations work when the phone changes hands. No clinical outcomes or measured adoption are claimed in this entry.
Built With
- app-intents
- avfoundation
- cloudkit
- firebase
- foundation-models
- revenuecat
- swift
- swiftui
- widgetkit
Log in or sign up for Devpost to join the conversation.