01 · The beginning
A loading pause on an ordinary evening.
It was one of those evenings when ChatGPT was loading again. I only wanted to look something up quickly without reaching for my phone. Because “just a second” reliably turns into doomscrolling there: one video, one feed, another feed—and suddenly the actual break is longer than the loading time.
02 · The idea
A small alternative to the reflex.
There was still a little unused space on the Mac: the menu bar. That became the idea for DragonDash—a tiny jump-and-run loop that appears when nothing is happening. Not a big productivity app and not another window demanding attention, just a small alternative to picking up the phone.
03 · The challenge
The idea was easy. The details were not.
A game that can be understood in seconds still has to react cleanly. The popover has to open and close, keyboard focus has to stay with the Space key, and the dragon must not move forward just because the cacti are moving past it. The cactus images also had to keep their proportions and sit on the same baseline—otherwise even a simple jump feels wrong.
04 · The dragon
Not a sticker, but an original drawing.
The dragon was created as an original SwiftUI Canvas drawing. Body, belly, spikes, legs, arm and face are built from paths. The run cycle moves the legs and arm, while the jump changes the pose depending on whether the dragon is rising or falling. The browser version now carries over that same movement: the character stays on its track and still feels alive.
05 · The implementation
A loading pause became a real app.
The small prototype became a menu bar app with score, high score, difficulty levels and settings. AppKit handles the place in the menu bar, SwiftUI handles the interface and drawing, and the game mechanics connect both. There is also a release for Apple Silicon and Intel and a DMG installation that makes the next step clear even for people without a developer workflow.
06 · The result
A deliberate pause, not another scroll hole.
The goal is not to optimize every free second. It is simply a small, deliberate pause: a dragon, a few cacti and a reason to leave the phone alone for a moment. This browser round is the most direct way to try the loop—the actual app lives up in the menu bar.