iOS app that connects to a Limitless Pendant via BLE, transcribes audio on-device using Apple Speech, and pushes markdown transcripts to GitHub.
Companion to TokDown for macOS.
Pendant (BLE) -> Opus decode -> Speech recognition -> Markdown -> GitHub
- Connects to Limitless Pendant over Bluetooth LE
- Decodes Opus audio frames via libopus
- Transcribes with on-device
SFSpeechRecognizer(chunked every 45s) - Formats as timestamped markdown with YAML front matter
- Pushes to GitHub via Contents API
- Manual or calendar-driven recording -- auto-start/stop based on calendar events
- On-device transcription -- no cloud APIs, works offline
- Background recording -- continues when app is backgrounded
- Auto-reconnect -- recovers from BLE disconnects mid-recording
- Transcript editing -- review and edit before pushing
- Push queue -- retries failed pushes when network returns
- iOS 18.0+
- Xcode 16+
- XcodeGen
- Limitless Pendant (or compatible BLE device)
xcodegen generate
open TokDown.xcodeprojAdd your GitHub PAT in the app's Settings screen. Transcripts push to the configured repo.
| File | Purpose |
|---|---|
PendantBLE.swift |
CoreBluetooth manager, BLE handshake |
LimitlessProtocol.swift |
Protobuf encode/decode, fragment reassembly, Opus extraction |
OpusStreamDecoder.swift |
libopus wrapper |
TranscriptionService.swift |
Chunked SFSpeechRecognizer |
SessionManager.swift |
Pipeline orchestrator |
TranscriptFormatter.swift |
Markdown + YAML front matter |
GitHubSync.swift |
GitHub Contents API push |
PushQueue.swift |
Offline retry queue |
MIT