Inspiration

Sam's brief resonated with me because I already maintain an open-source productivity app. I use reminders daily and I was always frustrated by how limited snooze options are in existing apps. You either dismiss or pick from a few fixed intervals. I wanted snooze to be smart: aware of what you're doing, where you are, and flexible enough to understand "tomorrow morning" typed directly in the notification.

What it does

Recaal is a cross-platform reminders app where the notification is the main interaction surface. You can snooze using natural language ("2h", "next friday at 5 AM"), snooze until you leave your current location, or snooze until your current meeting ends. It also has a recurring reminders engine that supports rules like "every 30 minutes from 9 to 5, Monday through Wednesday", something most reminder apps cannot do.

How I built it

Kotlin Multiplatform and Compose Multiplatform for shared business logic and UI across Android and iOS. Firebase for authentication, real-time sync, and push notifications. RevenueCat for managing the lifetime purchase across both platforms. The recurring engine is built on the iCalendar RFC 5545 standard, extended with custom time and day-of-week windows.

Challenges I ran into

I started building 10 days late, which left me around two weeks to ship an MVP on both platforms as a solo developer. Every feature decision became a tradeoff between scope and polish. This is also why iOS does not have full feature parity yet: location and calendar-aware snooze had to be deprioritized to ship on time.

Accomplishments that I'm proud of

Shipping a working MVP on both iOS and Android as a solo developer in under two weeks. The recurring reminders engine with 200 unit tests. And the natural language snooze from the notification, which feels like magic when you use it for the first time.

What I learned

Next time, obsess less about how it looks when the full feature set is not ready yet. Build something ugly that works, then iterate. I spent time polishing UI details while iOS feature parity was still incomplete. Lesson learned.

What's next for Recaal

Native SwiftUI interface for iOS, full feature parity (location and calendar snooze on iOS), widgets, watch support, and voice input using Google Assistant, Siri, and on-device NLP with Gemini Nano. On the growth side: SEO/GEO for recaal.app and building a founding members community.

Built With

Share this project:

Updates