Setting Out
The dog leaves the door, ears up, tail steady. A butterfly crosses the path.
Just a dog that knows when you should look away.
Every tool built to protect your attention does it by interrupting you — a countdown in the corner, an alarm at :25, a banner that slides in while you are mid-sentence. The cure borrows the disease.
In the late nineties a plastic egg taught a generation to keep something alive: feed it, clean up after it, check on it before class. Eyo borrows that feeling and turns it around. The creature is the one doing the looking after.
It has no hunger bar and nothing to lose. It just walks, and you glance down and know roughly where you are in the hour. Nothing is measured at you. Nothing asks to be dismissed.
This is the 20-20-20 rule — every twenty minutes, look twenty feet away for twenty seconds — rebuilt as something you feel rather than read.
The hour is not abstract. The dog is on a journey with five chapters — each one a place the rest reminder lives inside, instead of on top of. The cycle is five hours long; then a new journey begins.
The dog leaves the door, ears up, tail steady. A butterfly crosses the path.
Dappled light. The dog stops, listens, then walks on. Leaves turn overhead.
A small rainbow on the water. The dog pauses to drink, then keeps pace.
Higher ground. Wind picks up. The dog walks steadily, ears tilted back.
Familiar path. Tail wags again. The dog sits at the door and waits for the next morning.
Story lines currently ship in Chinese. English translations follow the same beat: place, weather, one quiet detail.
No skeletal rig, no procedural interpolation. Twelve frames, stepped twelve times a second.
Every step the dog takes is a hand-placed pixel sprite. The same character walks the bottom of your screen at 35 logical pixels and is never upscaled past twice that, so it stays crisp on Retina displays.
It is one character, one walk cycle, and a fixed colour palette. That is the entire art budget. Simplicity is the brand.
No window, no dock icon, no dashboard. Nine menu items and a running clock.
A small dog and a running clock — the time you have been at this stretch. When a break starts the number turns around and counts down instead, so a glance tells you which side of the hour you are on.
Pause the journey. Hide the dog and keep the clock running. Choose which display it walks on. Follow the system's reduce-motion setting, or override it in either direction. Nine items, no preferences window, nothing to configure before it works.
These are binding. A feature that conflicts with them is rejected, not negotiated.
No modal, no sound, no window that steals focus. If the dog needs to tell you something, it changes what it is doing.
Animation eases; nothing snaps, bounces, or flashes. A companion that startles you is worse than no companion.
Eyo does not track output, count tasks, or score your day. It has one job: your eyes.
Eyo is a Tauri application — a native macOS overlay with a TypeScript rendering layer that draws the dog frame by frame from sprite sheets.
It was built documentation-first: nineteen specification documents, each the single source of truth for the behaviour it describes. Changing what the dog does means changing a document first. 293 unit and integration tests keep the state machine honest.
Eyo 1.0 runs on macOS. It is in private testing while I watch how it behaves across long working days. If you would like to try it, or you are building something in this space, write to me.