Inspiration
Most habit apps show you a list. A screen full of unchecked items makes you ask "which one first?" and that small moment of hesitation is where habits slip. I also noticed that the real enemy isn't that logging is tedious. It's that you simply forget to open the app.
What it does
SpeedTask shows your habits one card at a time.
- Swipe right = done, swipe left = skip ("ask me again later"). Skipped cards come back next time.
- A home screen widget shows how many cards are left today, and you can log directly from the widget or from a notification without opening the app.
- On days you're already done, no notification comes.
- Calendar, history, streaks, and completion rates to look back on. Any day you complete at least one habit counts toward your streak, so busy days don't break you.
- Free for up to 5 habits. SpeedTask Plus (a one-time purchase, no subscription) unlocks up to 10.
- Habit names and records stay on the device. No account needed.
- Japanese and English, switchable in Settings.
How I built it
- Swift, SwiftUI, SwiftData, WidgetKit, iOS 17+
- The domain logic lives in a separate Swift package (SpeedTaskCore) with no dependency on UI, StoreKit, or RevenueCat, covered by over 100 unit tests.
- Monetization uses RevenueCat: a non-consumable product mapped to the "plus" entitlement and served through the default offering. When I switched the purchase backend from raw StoreKit to RevenueCat, not a single core test had to change.
- The app and the widget share data through an App Group.
- I used AI tools during development: Claude Code as a pair programmer for the implementation, and Codex for design prototypes (the card motion and onboarding).
Challenges I ran into
- Keeping the widget, notifications, and the app in sync so that "cards left" is always correct.
- App Store review: the app and the widget extension must share the same version number, or App Store Connect rejects the upload.
- Designing a paywall that still works honestly when products cannot be loaded.
Accomplishments that I'm proud of
SpeedTask 1.0 is live on the App Store, and version 1.1.0 with English support is in review.
What I learned
Speed is a feature. Cutting the number of decisions matters more than adding features.
What's next
Releasing card themes (already in the code as version 1.2.0), and making the widget experience even faster.
Log in or sign up for Devpost to join the conversation.