Comprehensive teardown of the subscription tracking iOS app โ covering every screen, flow, UX decision, and gap analysis with actionable recommendations.
01_Launch.png
02_Home.png
03_Detail.png
04_Scroll.png
05_Add.png
06_Back.png
๐ธ Screenshots captured via simctl io booted screenshot โ Full UI flow below captures launch + home states (tap automation requires 3rd party tool, see fix below)
What am I paying/ โโโ ContentView.swift # Main dashboard (50K chars) โโโ NewSubscriptionView.swift # Add/edit subscription (43K chars) โโโ OnboardingView.swift # First-launch onboarding (3.7K chars) โโโ QuickAddOnboardingView.swift # Quick-add tutorial โโโ UIComponents.swift # Reusable components (14.6K chars) โโโ CategoryChartView.swift # Analytics/charts โโโ CloudKitManager.swift # Data persistence โโโ SoundManager.swift # Haptic + audio feedback โโโ NotificationManager.swift # Renewal reminders โโโ SubscriptionWidget.swift # iOS Home Screen widget โโโ SharedModels.swift # Data models
For an app handling subscription/financial data, this onboarding has zero security messaging. No "Bank-level security," no "Your data stays on device," no privacy badges. Users abandon financial apps here.
This is the heart of the app โ subscription list, analytics, search, sort, empty states, animations, and monetization gates.
13 with icons
Cards ยท Search ยท Widgets
CloudKit native
50K line ContentView suggests mega-component. Splitting into DashboardView,
SubscriptionList, SpendHeader would improve compile times and maintainability.
Financial app onboarding lacks any security messaging. Users don't know if data is local-only or synced. Add "Your data stays on your device" badge.
Users coming from Bobby, Truebill, Copilot can't migrate. Build CSV import โ competitors export JSON/CSV.
Type "Netflix" โ should auto-select Streaming. Type "Spotify" โ Music. Implement keyword โ category mapping.
Single screen with stock credit card icon. Expand to 3-step: Value โ Permissions โ Setup with personality.
Show "Switch to annual โ Save $X" per subscription. This is table stakes for subscription managers.
| Feature | Effort | Impact |
|---|---|---|
| Trust badges on onboarding | 1 day | High |
| Multi-step onboarding (3 slides) | 2-3 days | High |
| Smart category detection | 1-2 days | Medium |
| CSV import (competitor migration) | 2-3 days | High |
| Annual vs monthly savings | 1 day | Medium |
Advantage: Native widget, CloudKit sync
Gap: Bobby has CSV import
Advantage: No ads, no signup, cleaner
Gap: No automatic transaction detection
Advantage: One-time purchase option
Gap: Less sophisticated charts
What works: Polished UI, native iOS integration (widget, CloudKit), premium feel with custom fonts and micro-interactions.
What's missing: Trust signals for financial app onboarding, competitive migration path, and smart defaults to reduce friction.
Add privacy badge, contrast fix for secondary CTAs, progress indicator if expanding
CSV/JSON import matching Bobby/Truebill/Copilot export formats. This is how you steal users.
Name-to-category mapping. Netflix โ Streaming. Spotify โ Music. Reduces form friction by 50%.