A calm, private subscription tracker built for iPhone.
Know what renews next, what it costs, and when you want to be reminded.
Subs keeps recurring payments visible without turning them into another finance dashboard. There is no account to create, no bank to connect, and no inbox to scan. Add the services you care about and Subs gives you a clear renewal timeline, useful spending context, optional reminders, and native Apple integrations.
Screenshots were captured from the running app on an iPhone 17 Pro Simulator with iOS 26.2.
- Put the next renewal, exact price, and date at the top of the app.
- Group upcoming subscriptions into a quiet, date-ordered timeline.
- Search larger collections and use native swipe actions to edit or archive.
- Handle weekly, monthly, yearly, quarterly, and custom repeat intervals.
- Keep month-end, leap-day, daylight-saving, and time-zone behavior predictable.
- Compare a normalized monthly average and yearly total.
- Forecast expected charges across the next 12 months using saved renewal dates.
- Rank the largest subscriptions by annualized cost.
- Keep currencies separate instead of showing a misleading converted total.
- Start quickly from a curated service picker or enter any custom subscription.
- Save price, currency, renewal date, cadence, symbol, website, and notes.
- Track free trials and choose a reminder lead time.
- Preview the renewal sentence before saving.
- Pause, resume, archive, restore, or open a user-supplied management URL.
- Schedule local renewal and trial reminders only when requested.
- Sync recurring renewal events with Apple Calendar and remove them cleanly when sync is disabled.
- Show the next renewal in small and medium Home Screen widgets.
- Use App Shortcuts to add a subscription or ask for the next renewal.
- Follow system light, dark, Increased Contrast, Dynamic Type, and VoiceOver behavior.
- Export the complete list as CSV or JSON.
- Import CSV through a mandatory row-by-row review screen.
- Make no changes during import until the user explicitly confirms them.
- Delete all local data from inside the app.
Subs uses native SwiftUI navigation, lists, forms, menus, sheets, and system materials. Information stays on stable, readable surfaces while iOS provides Liquid Glass for navigation and controls.
The Theme Studio includes Graphite, Ocean, Forest, Ember, and Mono palettes, plus a custom accent. Appearance, surface style, spacing, service-icon treatment, and next-renewal emphasis can all be adjusted. System typography and semantic text colors remain fixed so personalization never comes at the expense of legibility.
Subscription data is stored locally on the device with SwiftData. Subs has:
- no account or product server;
- no advertising or tracking;
- no analytics SDK;
- no bank connection;
- no email connection.
Notifications are local and optional. Calendar access is optional and used only for renewal events. Data leaves the app only when the user explicitly exports it.
Subs tracks the schedule a person enters; it does not inspect charges, confirm that a payment happened, cancel services, or offer financial advice.
| Area | Implementation |
|---|---|
| Interface | SwiftUI with native iOS 26 navigation and controls |
| Persistence | SwiftData, stored locally on device |
| Analytics | Swift Charts with deterministic local calculations |
| Recurrence | Pure Calendar and DateComponents domain logic |
| Reminders | UserNotifications with stable per-renewal identifiers |
| Calendar | EventKit recurring events with reconciliation and cleanup |
| Widgets | WidgetKit with an App Group snapshot |
| Shortcuts | App Intents and App Shortcuts |
| Data portability | Explicit CSV/JSON export and review-first CSV import |
Subs/
├── App/ # Root navigation, settings, dependencies
├── DesignSystem/ # Themes, formatting, reusable visual rules
├── Domain/ # Subscription model, cadence, recurrence, analytics
├── Features/ # Renewals, editor, detail, spending, settings, import
├── Intents/ # App Intents and Shortcut phrases
├── PreviewContent/ # Deterministic sample content
└── Services/ # Persistence, reminders, calendar, export, widgets
SubsWidget/ # Home Screen widget extension
SubsTests/ # Domain, validation, persistence, and analytics tests
SubsUITests/ # Onboarding, editor, accessibility, and theme UI tests
- macOS with Xcode 26.3 or newer
- iOS 26.2 Simulator or device
-
Clone the repository.
git clone https://github.com/Neel-Sh/Subs.git cd Subs -
Open
Subs.xcodeprojin Xcode. -
Select the
Subsscheme and an iOS 26.2+ destination. -
Build and run. No API keys, accounts, or backend setup are required.
To build from the command line:
xcodebuild \
-project Subs.xcodeproj \
-scheme Subs \
-destination 'platform=iOS Simulator,name=iPhone 17 Pro,OS=26.2' \
buildThe project includes focused unit coverage for recurrence edges, daylight-saving transitions, formatting, validation, spending calculations, persistence, reminder identity, and theme safety, alongside UI coverage for onboarding, editor validation, accessibility-sized text, and Theme Studio navigation.
xcodebuild \
-project Subs.xcodeproj \
-scheme Subs \
-destination 'platform=iOS Simulator,name=iPhone 17 Pro,OS=26.2' \
test- Visibility without anxiety. Subs surfaces planned renewals with factual, neutral language.
- Manual by choice. A short, editable form is preferable to invasive bank or inbox access.
- Apple-native interaction. Standard controls make the app familiar, accessible, and maintainable.
- User control. Permissions are contextual, imports require review, and exports are explicit.
- Correctness over cleverness. Recurrence behavior is deterministic and tested around real calendar edge cases.
The useful core and Apple-integration phases are implemented. The remaining roadmap items are intentionally conditional on beta feedback: private iCloud sync, a calendar view, an expanded licensed service catalogue, and shared household lists.
For the thinking behind the product and interface, see:
Thoughtful issues and pull requests are welcome. Keep changes aligned with the product's narrow job: make subscriptions visible, accurate, private, and easy to manage. For code changes, add or update focused tests and verify the result in both light and dark appearance.
Built with care for people who want fewer financial surprises—and less financial noise.


