Retired product, maintained source archive. Lantr was an independently distributed, Apple-notarized presentation editor for macOS, iPhone, and iPad. This repository preserves the product, its engineering, and the experiments that grew from it.
Lantr started from one conviction: slides should support the person speaking, not replace them. The shipped app combined a narrative-first editor, a custom SwiftUI canvas, multiwindow document handling, presentation mode, themes, PDF export, and an unusually theatrical first launch—curtain, spotlight, logo, and sound included.
The archive also includes Live Presenter, a macOS 26 experiment that listens to a speaker with Apple's on-device Speech framework and turns stable transcript chunks into semantic slide actions in real time.
Apps/Lantr— the cross-platform SwiftUI product.Experiments/LivePresenter— the speech-to-slides prototype and its testable agent boundary.Docs/Architecture— subsystem notes covering the canvas, documents, window orchestration, presentation runtime, and retired intelligence architecture.Docs/CaseStudies— honest engineering retrospectives for the product and prototype.Docs/Vision— the original launch essay, lightly edited after retirement.Media— the Live Presenter demo, founder portraits, and project-history material.
Lantr is a document-based local editor organized around four layers:
- Persisted presentation, arc, slide, block, and theme models.
- View models that own editing state, undo/redo, selection, and document transitions.
- SwiftUI views for the arc editor, canvas, inspector, resources, and presentation runtime.
- Platform boundaries for AppKit/UIKit windows, scenes, file coordination, speech, and PDF export.
The public archive runs with AppCapabilities.publicArchive: local editing is enabled, while authentication, the retired Lantr cloud, telemetry, and automatic updates are disabled. Former cloud implementations remain selectively available for architectural study, but the reachable UI hides them and a central network policy rejects every request to api.lantr.app.
Read Building Lantr and the architecture index.
microphone → SpeechAnalyzer → stable transcript chunks → serial queue
→ typed slide-agent request → validated semantic action → local SwiftUI deck
The model may return only new_slide, update_slide, navigate, or no_op. Responses are defensively decoded into typed actions. Updates are append-only, requests are processed in order, and malformed or unknown actions fail without mutating the deck.
- Watch the 74-second local demo
- Watch the original X post
- Read the Live Presenter case study
- Read the prototype agent contract
Live Presenter contains no bundled credential. It opens and builds without one; to exercise the network-backed demo, enter your own OpenRouter key and model identifier in Settings. The key is stored only in the macOS Keychain.
- Xcode 26.0 or later.
- Swift 6.2 toolchain included with Xcode 26.
- Lantr archive: macOS 15+. Historical iPhone and iPad source remains included for architectural study, but iOS and iPadOS builds are no longer maintained or validated.
- Live Presenter: macOS 26+ because it uses
SpeechAnalyzerandSpeechTranscriber.
# Lantr for macOS
xcodebuild -project Apps/Lantr/Lantr.xcodeproj -scheme Lantr \
-destination 'platform=macOS' CODE_SIGNING_ALLOWED=NO build
# Live Presenter focused tests
swift test --package-path Experiments/LivePresenter
# Live Presenter app
xcodebuild -project Experiments/LivePresenter/LivePresenter.xcodeproj \
-scheme 'Live Presenter' -destination 'platform=macOS' \
CODE_SIGNING_ALLOWED=NO buildTo replay Lantr's welcome experience during development, launch with --replay-welcome.
David Retegan designed and built the Swift code included here. The wider Lantr effort also included a separate Windows application by Matei Ursache and a separate Go backend by Raul Boanca. Neither of those codebases is included here, and neither Matei nor Raul is being credited for code in this repository. Their work is acknowledged because it was part of the broader product effort.
The founder portraits and a native Lantr pitch presentation are preserved with the project record. The presentation intentionally retains its draft placeholders as an honest snapshot rather than presenting them as validated traction.
See PROVENANCE.md for the clean-history import record and THIRD_PARTY_NOTICES.md for dependency and asset attribution.
This is a portfolio and learning archive, not an active hosted product. Issues and focused improvements are welcome, but the retired Lantr backend, accounts, telemetry, update feed, and production service are intentionally unavailable.
The included source is MIT licensed unless a bundled third-party asset or dependency states otherwise.
