Inspiration
The name DokiDone comes from doki doki — a Japanese onomatopoeia for a fast-beating, pounding heart. That feeling of excitement, anticipation, the rush when something matters. Pair that with Done — the satisfaction of checking something off — and you get DokiDone. It sounds cute. We leaned into that.
Our mascot, a penguin, has an origin story too. My partner and I visited an oceanarium — the kind with giant aquatic animals behind glass walls that make you feel small. We saw a penguin there, and something about it just clicked. We bought a penguin stuffed toy as a souvenir, named it Doki, and the mascot was born.
As for the app itself — I'm a forgetful person. Genuinely. If it's not a reminder, it's not happening. I tried every reminder app out there and kept running into the same frustration: a notification goes off, I'm busy, and I have to unlock my phone, open the app, and tap around just to snooze it. By the time I'm done, I forgot what I was actually doing. I wanted an app that lets me snooze straight from the notification — one tap, custom time, phone stays in my pocket. So I built it.
How I Built It
I'm a software engineer focused on mobile development, with experience publishing apps to both stores. DokiDone is built with Flutter for cross-platform (iOS + Android), Supabase for auth and real-time sync, Drift (SQLite) for offline-first local storage, and RevenueCat for monetization.
But here's the twist — I built it with AI agents. Three of them, orchestrated through OpenClaw. I named each agent after my past pets because if they're going to be my teammates, they might as well have proper names.
Developing with AI is fast and genuinely different. As long as the AI knows the detailed spec and you know how to orchestrate the agents, the output is kind of amazing. That said, I wasn't just sitting back. When an agent got stuck — and they do get stuck — I'd take over, debug it myself, and push things forward. The majority of bug fixes were me, still AI-assisted, but me driving. It's a collaboration, not autopilot.
Challenges
The biggest challenge was time. Well — that's why it's a hackathon.
Building an offline-first sync engine with field-level conflict resolution isn't trivial under any timeline, let alone a compressed one. Managing iOS's 64-notification hard limit while supporting custom snooze durations and recurring reminders added another layer of complexity. And wiring up RevenueCat with reactive feature gating — where purchasing Pro instantly unlocks everything with no app restart — required careful state management across the whole app.
Orchestrating AI agents was its own challenge too. You learn quickly that the quality of the output depends entirely on the quality of the spec you feed in. Vague instructions produce vague code. Detailed specs produce surprisingly good results.
What I Learned
I learned that AI-assisted development is going to be the norm in software engineering. Not someday — soon. The speed at which you can go from spec to working feature is unlike anything I've experienced in traditional development. But it doesn't replace engineering judgment. Knowing when to let the AI run and when to step in is a skill in itself.
I also learned that joining this hackathon was one of the best decisions I made. It pushed me to explore AI tooling far deeper than I would have on my own.
What's Next
I'm going to keep developing DokiDone whether I win or not. I built this app to solve my own problem — I'm forgetful, and I need something that works the way my brain works. If it helps other people too, even better. Next up: home screen widgets, calendar integration, and location-based reminders.
Built With
- claude
- flutter
- supabase


Log in or sign up for Devpost to join the conversation.