Inspiration
It started with my wife. She wanted to make a 1-minute pitch video and kept struggling with the same things every time — reading the script naturally, remembering where to put emphasis, and keeping track of how much time she'd used while she was mid-take. There wasn't a tool that handled all three at once, so the idea for ORATI came from her, and she ended up designing a lot of the features herself. The more we worked on it, the more we realized this wasn't just a personal fix — it's genuinely useful for anyone working on public speaking, and could be a real boon for students prepping presentations.
What it does
ORATI walks you through the full rehearsal loop. You plan out your script and break it into the app as timed sections, then start practicing against a live teleprompter and timer. You can record yourself as you go, and after each run you review your progress — timing, pacing, which sections ran long — so you can keep refining right up until it's go time.
How we built it
ORATI is built natively in Swift 6 and SwiftUI, targeting iOS 26 and watchOS 26. Data is persisted locally with SwiftData, with an optional private CloudKit sync tier unlocked for Pro subscribers through RevenueCat. The core rehearsal experience is driven by a timestamp-based timer engine that powers a circular, segmented clock-face timeline showing exactly where you are in your script at a glance. A companion Apple Watch app mirrors the live rehearsal state over WatchConnectivity, so you can control practice from your wrist. This was also our first project built with real, sustained help from Codex — a new part of the workflow for us alongside the usual Xcode/SwiftUI development.
Challenges we ran into
Onboarding was tougher than expected to get right. But the bigger challenge was refining the core use case itself — figuring out exactly what would make people actually want to use this and keep coming back took a lot more iteration than we initially thought.
Accomplishments that we're proud of
The practice screen is the thing we're happiest with — it combines a teleprompter view with your script, synced live to the Apple Watch companion for play/pause control. It makes rehearsing feel smooth and natural instead of fiddly, which was the whole point from the start.
What we learned
Codex was awesome to work with — we were genuinely shocked at how capable the first version was right out of the gate. A lot of that came down to having a strong PRD to build from, which my wife is great at putting together. We also learned the App Store review process can take a while, simply because of how many apps are in the queue at any given time.
What's next for ORATI
Two things: sharpening the core use case even further so the main rehearsal experience is as useful as it can be, and putting real effort into marketing to find and grow our core group of users.
Built With
- codex
- swift
- swiftui
Log in or sign up for Devpost to join the conversation.