Understand every earnings call.
Talyno is an iPhone-first app built for financial professionals who need to follow multilingual earnings calls, investor meetings, and analyst conferences in real time. It captures audio, transcribes on-device with a custom finance-tuned WhisperKit model, translates on-device with Apple's Translation framework, and surfaces a live bilingual transcript — no bots, no servers, no account required, one tap to start.
iPhone (SwiftUI)
└── AudioCaptureService (AVAudioEngine)
└── WhisperKitTranscriber (on-device CoreML / Neural Engine)
└── TranslationCoordinator (Apple TranslationSession)
└── Live bilingual transcript UI
Storage: SwiftData (Meeting, TranscriptSegment, Speaker)
Privacy guarantee: No audio, transcript, or translation ever leaves the device. There is no backend, no account, and no network activity beyond optional on-demand model downloads (see STT Models below).
| Feature | Description |
|---|---|
| Live recording | One-tap capture; real-time transcription shown as bilingual bubbles |
| Finance-tuned STT | Custom WhisperKit model fine-tuned on earnings calls, analyst Q&A, and IR meetings — works offline from first launch |
| On-device translation | Apple Translation framework — privacy-safe, no third-party API |
| Meeting library | Browse, search, and re-open past calls |
| Review & playback | Scroll transcript, search segments, play back audio |
| Export / share | Share transcript as plain text or Markdown |
- 100% on-device processing — offline by design.
- Microphone is the only required permission; audio never leaves your iPhone.
- No account, no login, no analytics SDK.
- The only outbound network requests are optional model downloads that the user explicitly triggers in Settings.
| Model | Quality | Source |
|---|---|---|
openai_whisper-tiny |
Basic — works offline at first launch | Bundled in app |
talyno-whisper-small-finance |
Accurate — custom finance fine-tune, downloads on demand (~466 MB) | passpoo/talyno-whisperkit-coreml (HuggingFace) |
The talyno-whisper-small-finance model is a LoRA fine-tune of whisper-small, trained in two
phases on English (SPGISpeech earnings-call audio, 200h) and Chinese (Google FLEURS
cmn_hans_cn real recordings + a TTS-synthesised Traditional-Chinese financial-terminology
corpus). It can be downloaded in Settings → AI Models. The app continues to work with the
bundled Basic model if the download is skipped.
The PyTorch source weights are published at
passpoo/talyno-whisper-small-finance;
the WhisperKit CoreML conversion the app downloads is at
passpoo/talyno-whisperkit-coreml.
See docs/talyno-whisper-finetune-guide-v6.md for the full training methodology.
Speech-to-text (STT) is currently trained for English and Chinese only:
| Language | STT | Translation |
|---|---|---|
| English / English (UK) | ✅ | ✅ |
| 繁體中文 / 中文(简体) | ✅ | ✅ |
Known gap: the in-app language picker (
MeetingLanguageCatalog) currently still lists Deutsch, Español, 日本語, and 한국어 as STT-selectable from an earlier model generation. Thetalyno-whisper-small-financemodel actually hosted today (v6, see the finetune guide) was retrained to EN + ZH only, so STT quality for those four languages is currently degraded / unsupported until the app's language list is narrowed to match. Translation (Apple's on-deviceTranslationframework) is unaffected and covers a broader set of language pairs independently of STT.
On-device translation packs are downloaded the first time a language pair is used (handled automatically by TranslationPackManager).
| Tool | Version |
|---|---|
| Xcode | 16+ |
| iOS target | 18.0+ |
| XcodeGen | any (brew install xcodegen) |
git clone <repo>
cd Talyno/ios
# Generate the Xcode project from project.yml
xcodegen generate
# Open in Xcode
open Talyno.xcodeprojNo secrets, no backend, no environment variables needed — just clone, generate, and run.
# Build
xcodebuild -scheme Talyno \
-destination 'platform=iOS Simulator,name=iPhone 17' \
build
# Run unit tests
xcodebuild -scheme Talyno \
-destination 'platform=iOS Simulator,name=iPhone 17' \
test
# Lint
swiftlint lint --strict- Branch off
main; open a PR with a clear description. - Discuss architecture changes in the PR before implementation.
- See
CLAUDE.mdfor coding conventions (Swift 6 strict concurrency, design tokens, SwiftData-only persistence). - See
SECURITY.mdto report a vulnerability.
Talyno's source code is licensed under the Apache License 2.0.


