Builder’s Notes

Stories and notes from building FleaWinder — a tiny animated circus with a progression game, built across 5 platforms by one person and a flock of fleas.

Create Your Flea — A Progression Game Inside the Circus

v1.4.0 is the biggest content release since 1.0. FleaWinder is no longer just a watch-and-delight desktop companion — it's a game. You can create your own flea, discover your circus calling through a personality quiz, and then grow your flea through a branching tech tree until they evolve into a legend.

The 'Join the Circus' wizard asks your name, lets you pick from 8 body colours and 6 hats, then runs you through three questions about your personality. 'When you're nervous, you...' — each answer weights one of the seven acts. At the end, a staged reveal announces your calling: Tightrope Walker, Trapeze Artist, Human Cannonball, Powerlifter, Unicyclist, Juggler, or Fire Breather. Your flea joins the colony permanently.

Each custom flea has their own 12-node tech tree specific to their act. Four foundation nodes, then a choice gate where you commit to one of two branches — Grace or Daring for the tightrope, Chaos or Zen for the juggler, Phoenix or Dragon for the fire breather. Each branch leads to a unique tier-3 capstone that evolves your flea's title. The tightrope walker can become the Wire Swan or the Wire Daredevil. The strongman becomes the Titan or the Iron Sage. 14 evolved titles across the 7 acts, 84 hand-authored nodes in total.

Every node you unlock visibly changes your flea. Sparkle trails orbit them. Their body takes on new colours. A pulsing glow ring appears behind them. A gold star emblem shows on their chest. Scale increases make them visibly larger. And the hat can change — the Daredevil earns a bandana. These effects layer, so a fully-trained flea with 8+ unlocks looks dramatically different from a fresh one.

The part I'm most proud of: your custom flea actually performs in the circus strip. They replace the built-in performer for their act and carry all their tech-tree effects into the live animation. A custom Gold-coloured Tightrope flea with a crown, sparkle trail, and phoenix aura will walk that rope looking exactly like that — on your desktop, on your phone, on your TV.

Every platform got this. The macOS desktop app has a Colony window with the full wizard, tech tree, practice button, and an animated flea preview that renders at 30fps in CGContext. The Python app has a tkinter Colony window with the same progression flow. watchOS shows your custom flea's level and lets you practice from your wrist. Apple TV has a focus-engine-friendly version of everything. All of them read tech tree data from a single shared JSON spec so adding a node in one place updates every platform.

There are also 45 interactive reactions now — things you can do TO the fleas. Toss Nova an apple and she catches it (with progressive bite marks as she eats it). Drop sunglasses on Rex right before his cannon fires. Give Pip a mirror and watch him flex at his own reflection. Throw a pie at Fizz. Each reaction spawns a real vector-drawn prop that arcs through the air, gets caught by the flea, and stays attached for a few seconds before fading away. No emoji — real animated objects.

This was a two-day sprint — the entire progression system, tech tree, 84 hand-authored nodes, 45 interactive reactions, 28 vector-drawn props, cross-platform Colony windows, a watchOS detail view, and the shared JSON spec that ties it all together. Building in public means shipping imperfect things and iterating fast. The fleas are out there now.

The Circus Comes to the Living Room

FleaWinder now runs on Apple TV. The same seven acts — Nova on the tightrope, Zing on the trapeze, Rex in the cannon, Pip at the weights, Dot on the unicycle, Fizz juggling, Blaze breathing fire — all live on the big screen now, rendered at 60fps on a canvas that fills your television edge to edge.

The biggest challenge was input. The Siri Remote is a beautiful object but a completely different design contract than a keyboard or mouse. There's no hover state, no cursor, no modifier keys. What it does have is a touchpad for navigation and a dedicated Play/Pause button — a physical key that sits apart from everything else. That became the wind trigger. Swipe to navigate, press Play/Pause to wind. Clean separation, no conflicts.

The tvOS focus engine is fascinating and occasionally maddening. Every focusable element on screen participates in a spatial navigation graph. Swipes travel the graph. The key discovery: if only one focusable element exists on screen, the tvOS focus engine interprets swipes as presses on that element — which meant every navigation swipe was firing the wind button. The fix was making sure there are always at least two focusable targets so the focus engine has somewhere to travel.

The Colony tab lets you zoom into any individual flea for a full-screen spotlight. Each flea has their own accent color, a personal wind button ('Wind Nova', 'Wind Rex'), and five unique interactive options that cycle as you press. Give Fizz a chainsaw to juggle. Load Rex's cannon with a balloon. Offer Blaze a birthday cake. The flea reacts, the canvas flashes their color, and sometimes they get a small energy boost out of it.

There's also a Top Shelf extension. When you highlight FleaWinder on the Apple TV home screen, the full colony appears in the wide shelf above — all seven fleas as illustrated cards with their names and acts, each one a deep link back into the app. On device it also reads your current energy level from iCloud and surfaces it in the section header.

Apple TV is a first-class FleaWinder platform now. Same colony, same physics, same seven acts — just much bigger.

Winding the Fleas from Anywhere on iOS

FleaWinder now has a custom iOS keyboard. Install it once and every app you type in — Messages, Notes, Safari, anywhere — quietly winds the circus in the background. Every ten keystrokes sends a burst of energy back to the main app. The fleas don't care where the input comes from; they just want to be wound.

The keyboard itself is circus-themed: dark warm-brown keys, gold accents on the special keys, and a small energy bar at the top that fills up as you type. It shifts from red to gold to green as your keystroke count climbs. There's a tiny flea emoji next to it and a live counter so you can see exactly how much winding you've done this session.

The trickiest part was data sharing. iOS keyboard extensions run in their own sandboxed process — they can't talk to the main app directly. The solution is App Groups: a shared UserDefaults container that both the keyboard and the app can read and write to. The keyboard accumulates wind points and drops them in the shared container; the app picks them up on resume. We migrated the existing Siri Shortcuts and widget intents to the same shared container while we were at it, so everything flows through one pipe now.

To enable it: Settings, General, Keyboard, Keyboards, Add New Keyboard, FleaWinder Circus. It doesn't request Open Access — no network, no data leaves your device. Just keystrokes powering fleas.

Taking the Circus to Small Screens

FleaWinder was designed for a wide, thin strip above the taskbar — comfortably landscape. Phones are portrait. Making the circus work on small screens meant rethinking the layout without losing what makes it feel alive.

The embeddable widget flips to a tall canvas on mobile, stacking the acts vertically instead of spreading them across a ribbon. Anyone dropping FleaWinder into their own site gets a layout that adapts automatically. Four theme presets (dark, light, warm, cool) and a scale parameter let it blend with whatever surrounds it.

The bigger challenge was legibility. On a phone screen, fleas drawn at desktop scale are just specks. We added a zoom pass that scales up flea bodies so their costumes, expressions, and accessories are actually visible — Pip's headband, Rex's helmet, Blaze's tiny crown. The personality details that were always there suddenly read at arm's length.

The rest of the mobile overhaul was less glamorous but just as important: touch-friendly tap targets, better font scaling, responsive spacing throughout the marketing site. Nothing revolutionary — just making sure the circus looks right wherever you find it.

Costumes, Seasons, and a Ringmaster

This week was all about visual depth. Each flea in the colony now wears a unique costume — Nova has a parasol on the tightrope, Rex wears a helmet in the cannon, Blaze gets a crown for the fire-breathing act. Small details, but they give each performer an identity you can spot at a glance.

The stage itself changes with the calendar. A seasonal particle system drops snow in winter, cherry blossoms in spring, fireflies in summer, and drifting leaves in autumn. There's also a subtle day/night tint tied to your real-world clock — the strip warms up at golden hour and dims after dark, with brighter stars in the night sky.

The biggest addition is the Ringmaster — a special flea in a top hat who strolls between acts, inspecting the show. He doesn't perform; he supervises. Getting his patrol path right meant spacing his walks so he arrives just as an act transition finishes, which gives the whole circus a sense of choreography it didn't have before.

Under the hood, a full theme system now powers all of this. Eight colour palettes plus an auto-seasonal mode that picks the right one based on the month. Every colour in every act and UI element pulls from the active theme, so switching feels seamless rather than bolted on.

v1.1.0: Two New Acts

Version 1.1.0 adds the Juggling Act and Fire Breather to the roster, bringing the total to seven live circus acts. Both run on the same energy system that drives the rest of the show — your keystrokes, mouse movements, and clicks.

The Juggler tracks multiple balls in true parabolic arcs. The count scales with energy: two or three at idle, up to six at full power, with behind-the-back catches when the crowd goes wild. Getting the timing right required decoupling each ball’s phase so they don’t clump.

The Fire Breather uses the existing particle system but with a new heat-shimmer effect. Flame length grows with energy, and clicks produce bonus bursts. The trickiest part was colour blending — transitioning smoothly from deep red at the base to bright yellow at the tip without looking banded.

Both acts slot into the existing rotation system, so you’ll see them swap in and out alongside the original five. If you want to pin a favourite, the Settings panel now lets you toggle individual acts on and off.

The History Behind the History Page

FleaWinder’s history page documents over four hundred years of real flea circuses — from Robert Hooke’s microscope sketches in 1665 to the Oktoberfest performers still working today. Writing it meant reading Victorian playbills, digitised newspaper clippings, and a surprising number of academic papers on entomological entertainment.

The hardest part was deciding what to leave out. Louis Bertolotto alone could fill a book (and he did — several, in fact). The compromise was a timeline that hits the major beats and a set of expandable sections for anyone who wants to dig deeper.

The page uses drop caps, ornamental dividers, and a serif typeface to echo the broadsheets and playbills it describes. Every section collapses by default so the reader isn’t overwhelmed, but the first paragraph is always visible with a drop cap to pull you in.

All text is available in English, Spanish, and German. The translation process surfaced some fascinating local history — German Flohzirkus traditions at Oktoberfest, for instance, have their own lineage distinct from the London and New York scenes.

Why I Built FleaWinder

I wanted something that made the computer feel alive — not in a distracting way, but as a quiet companion that responds to your presence. Most screensavers activate when you leave; FleaWinder activates when you arrive.

The idea was simple: take all the idle input your operating system ignores — the rhythm of your typing, the speed of your mouse, the cadence of your clicks — and feed it to a troupe of animated circus fleas. The more you work, the more the show comes alive.

Building it as a transparent overlay above the taskbar turned out to be the right constraint. It’s always visible but never in the way. You don’t interact with it directly; you just work, and it reacts. The technical challenge was making it truly click-through so it never steals focus.

FleaWinder is a love letter to the Victorian flea circus — a real, centuries-old art form where watchmakers harnessed actual fleas to pull miniature carriages and walk tightropes. The history page tells that story in full.