Inspiration
It is easy to lose track of basic habits during a focused workday. otterwater was created to make drinking water and standing up feel effortless, with a friendly desktop companion that encourages you without becoming another distracting productivity tool.
What it does
otterwater is a local-first macOS menu-bar app that reminds you to drink water and stand at configurable intervals. You can log water and standing check-ins, track daily progress, snooze or pause reminders, and interact with a draggable otter that lives on your desktop. Everything stays on your Mac—there are no accounts, analytics, or network services.
How we built it
We built otterwater as a native macOS 14+ app using Swift 6, SwiftUI, AppKit, and Swift Package Manager. AppKit powers the menu-bar experience, desktop pet, and reminder bubble, while SwiftUI handles the controls and settings. Activity and preferences are stored locally in JSON, and the app uses native macOS notifications while respecting Focus, screen-lock, and idle states.
Challenges we ran into
The hardest part was making the desktop otter feel playful without letting it interrupt the user's work. We had to carefully handle pet positioning across screens, animation timing, overlapping reminder lifecycles, notification permissions, and Focus-aware presentation. Packaging a reliable macOS app—with bundled assets, hardened runtime, release verification, and a simple DMG—also required considerable iteration.
Accomplishments that we're proud of
We created a warm, fully native companion that remains lightweight and private. The otter can be dragged, hidden, animated, and used to log actions directly from its reminder bubble. We also built resilient local storage, accessible controls, graceful failure handling, extensive automated tests, and a repeatable release pipeline.
What's next for otterwater
Codexxing
Built With
- codex
Log in or sign up for Devpost to join the conversation.