You can install the app from TestFlight! (Note: if the link doesn't work, it's because Apple is still approving my build.)
Alternatively, you can clone the repo, open the project in Xcode, and run it yourself by clicking the "run" button.
You can start a focus timer, which will fail if you leave the page. If you finish your focus session, you'll get coins equal to the number of minutes you focused. Then, you can spend the coins in the shop for buying stuff!
- Focus timer
- Gain coins for focusing
- Store
- Skip passes
- App icons
- App themes
- Game tickets?
- Gambling?
- In-app AI credits?
- IRL things?
- Tasks
- Reminder integration
- Coin multipliers
- Random daily bonus
- Task completion before deadline
- Shortcuts integration
- Start focus sessions in app
- Find store items
- Purchase store items
- Find sessions
Check out the demo website for the demo video!
This app uses SwiftUI as the frontend framework (duh). It stores focus sessions with SwiftData and the coins, purchased items, and some temporary state with UserDefaults.
To detect when the user leaves the app, a combination of the .onDisappear modifier and watching \.scenePhase changes is used: the .onDisappear monitors switching to another tab, and \.scenePhase monitors leaving or killing the app.
