iPhone and iPad app · 2026
Moonhop
A focus timer for iPhone and iPad where every focus session is a rocket flight to the Moon and beyond.
- My role
- Independent developer: product, design and engineering
- Status
- Coming to the App Store on December 29, 2026
- Platforms
- iPhone and iPad: Coming December 29, 2026



The idea
Focus time as a trip through space
Each focus session, from 5 minutes to 3 hours or in Pomodoro blocks, is a rocket flight. You write what the flight is for, launch, and the crew flies while you work. Farther places only need longer flights: 20 minutes for the Moon, 30 for Mars, an hour for Pluto.
How it works
A web scene inside a native app
The 3D world and every screen are a web page bundled into the app and shown full screen; SwiftUI handles the parts a web page cannot do on an iPhone.
- Live Activity, widgets, notifications and haptics are native.
- three.js, the fonts and the NASA images ship inside the app, so it works offline.
- The same page runs unchanged in a browser as the preview.
The hard part
No account, no server
Progress is saved by the app and in the player's own iCloud, friends connect through CloudKit with an invite link, and purchases are worked out on the device from Apple's signed transactions.
What's next
Launch
Moonhop is planned for the App Store on December 29, 2026, with the real sky over the pad: the Moon's phase, meteor showers and eclipses on their dates, starting with the Quadrantid meteors in January 2027.
What I did
- Researched the market and wrote the product, game-design and launch plans before writing code.
- Built the 3D world and every screen as a web scene bundled into a native SwiftUI app, with Swift handling what a web page cannot do on an iPhone.
- Wrote the App Store texts, privacy answers, screenshots and press kit for launch.
Results
- A realistic 3D spaceport and rockets, with Earth and the Moon painted from NASA imagery, and flights from low orbit to the Andromeda galaxy.
- Native iPhone features: a Live Activity countdown on the Lock Screen and in the Dynamic Island, Home Screen widgets, arrival notifications and haptics.
- Friends and progress sync through the player's own iCloud, so there is no account and no server.
- No ads: a free core and an optional Pro subscription, checked on the device with StoreKit 2. In seven languages.
Key decision
Daily streak or weekly plan?
Choice
A weekly flight plan with flags at the pad, instead of a daily streak.
Why
The app is meant to be kind: coming back early keeps the minutes you flew, and a week off loses nothing.
Tradeoff
A daily streak pushes people to open the app every day; a weekly plan gives up some of that pressure in exchange for not punishing a missed day.
Built with
- SwiftUI
- three.js
- StoreKit 2
- CloudKit
- WidgetKit
- ActivityKit
More screenshots


