I'm an indie iOS developer and just shipped RoundsKeeper, a score tracking app for board games, card games, mini golf... anything you keep score for. This is my second app (first was Mathintosh, a calculator app).
Tech stack:
- Swift/SwiftUI, iOS 18+
- Built in Xcode
- SwiftData with CloudKit integration for local-first persistence with iCloud sync
- No backend servers — data lives in the user's iCloud private database
- No analytics SDKs, no network requests beyond iCloud sync
What it does:
- Two input modes: a calculator-style view for punching in scores fast during gameplay, and a table view for a spreadsheet-like look at every round. Game history with analytics (win/loss ratios, averages, per-player trends), a dice roller supporting everything from a single d6 to custom multi-dice pools with saved presets, and a game timer for turn tracking or overall session duration.
Architecture decisions:
- SwiftData over Core Data. I wanted to bet on the modern framework
- Local-first was non-negotiable. No accounts, no sign-up, no server-side anything. iCloud handles sync transparently
- Biggest technical challenge was making SwiftData + CloudKit sync reliable across devices without conflict issues
Privacy/monetization:
- No ads, no tracking, no data collection
- Free to download, optional IAP for advanced features
- No account required
justbustr•1h ago
Tech stack: - Swift/SwiftUI, iOS 18+ - Built in Xcode - SwiftData with CloudKit integration for local-first persistence with iCloud sync - No backend servers — data lives in the user's iCloud private database - No analytics SDKs, no network requests beyond iCloud sync
What it does: - Two input modes: a calculator-style view for punching in scores fast during gameplay, and a table view for a spreadsheet-like look at every round. Game history with analytics (win/loss ratios, averages, per-player trends), a dice roller supporting everything from a single d6 to custom multi-dice pools with saved presets, and a game timer for turn tracking or overall session duration.
Architecture decisions: - SwiftData over Core Data. I wanted to bet on the modern framework - Local-first was non-negotiable. No accounts, no sign-up, no server-side anything. iCloud handles sync transparently - Biggest technical challenge was making SwiftData + CloudKit sync reliable across devices without conflict issues
Privacy/monetization: - No ads, no tracking, no data collection - Free to download, optional IAP for advanced features - No account required
App Store: https://apps.apple.com/us/app/roundskeeper/id6754217431
Would love technical feedback or feature requests. What would you want from a scorekeeper app?