Inspiration

A conversation should not stop every time someone needs a translation. Knowless is built around a simple idea: let people speak, keep the meaning easy to read, and make the experience work without an internet connection after setup.

What it does

Knowless transcribes and translates conversations on iPhone. Choose up to three listening languages and one reading language. Translations appear prominently, with the original text underneath.

  • Download supported language packs once, then transcribe and translate offline.
  • Pinch to resize conversation text from 50% to 300%.
  • Select text to copy it or use Read aloud.
  • Choose light or dark appearance, High Contrast or Colorblind palettes, and Reduce Motion.
  • Use the interface in 35 languages. Speech and translation availability depend on the supported language packs.

No signup. Core transcription and translation are free. Conversation audio is processed on device, not uploaded for cloud inference or saved as recordings. Adless is an optional one-time purchase that removes sponsor and ad placements; it does not unlock translation features.

How it is built

Knowless is a native Swift and SwiftUI app. AVAudioEngine captures microphone audio, and on-device speech recognition turns speech into text. Translation uses Apple's Foundation Models when available, with Apple Translation as the fallback for supported installed languages.

RevenueCat manages the optional Adless purchase, entitlement updates and Restore Purchases. The core conversation tools stay free.

Challenges

Speech is not a finished document. New words arrive, earlier words are corrected, and translations change. Reanimating everything makes the conversation harder to follow. Knowless keeps unchanged text stable and applies its amber Signal Resolve effect only to new or changed text. Processing cues sit beside the text instead of dimming sentences that are already readable.

Another challenge is preparing for offline use: supported language resources need to be ready before someone relies on the app without a connection.

Accomplishments

A focused, native conversation screen brings translation, original-text context, read-aloud and adjustable text together without requiring an account. Knowless is published on the App Store; the latest 1.0.1 update has been submitted for review.

What we learned

Speed is both processing time and what people see while they wait. Show progress where the text is changing, and leave finished sentences alone. Readability also needs choice: bigger text, different contrast, the original wording, or a voice reading it back.

Next steps

Test more real conversations across supported language pairs, devices and noisy settings, then use that feedback to improve recognition, caption readability and language-pack setup.

Built With

Share this project:

Updates

posted an update —

When I was small I got lost in Hong Kong. I didn't speak the language. On later trips to China and other countries, I didn't know the language either, and I couldn't use mobile data. Each time I wished for the same thing: a translator that needs no connection, so I could understand people and talk with them. Knowless is my attempt at it: once its languages are downloaded, the core of it works without a connection.

My first version was a radar that listened all the time. I imagined it could tell where a speaker was from the sound alone. Not on my phone: my iPhone 15 Pro Max gives me no spatial audio from a recording, so there's no direction to read. Then I tried eyes instead of ears, using both cameras at once to find the face that was speaking. The phone ran very hot, the battery drained fast and it kept freezing, so I dropped that too.

Another idea was noise reduction for loud places. It sounded reasonable on paper. Then I listened to a noisy recording with my own ears and couldn't make out what I was saying. No amount of denoising would fix that. That's what I mean by a human in the loop: I build with AI, and I have to keep checking that what I'm asking for makes sense in the real situation.

What was left is one screen and one button. Press, talk, translate. The first prototype also kept a conversation history. I cut it to ship in time for Shipaton, and still nearly missed the deadline.

A very small feature turned out to be extremely complex: how the words appear. Speech becomes a guess, shown at once so it feels live. Then the guess is corrected. After a long sentence it's corrected again, using the whole sentence as context. Each of those states has to look right, and so does the waiting in between. I knew from the start I wanted it to feel intuitive. I didn't expect how long that would take: I went back and forth between the app and a design mock for more than two days.

Next I want live voice translation between two people talking to each other. That isn't built yet.

Log in or sign up for Devpost to join the conversation.

Submission history