Show HN: A desktop fly drawn to the scent of vibecode A new open-source macOS app, DesktopFly, simulates a 3D fruit fly on the desktop using a live spiking neural network based on the FlyWire connectome (v783), with 23,210 neuron soma positions and a 668-neuron circuit with ~19,000 synaptic connections. The fly can smell 'vibecode' by scanning for agent markers like AGENTS.md and CLAUDE.md, and it escapes from the cursor only when the real Giant Fiber neurons spike, with escape triggered in ~4 ms. The project, forked from DenisSergeevitch/desktop-fly, requires macOS 13+ and Xcode Command Line Tools, and is available on GitHub. A 3D fruit fly that lives on your macOS desktop — driven by a live spiking simulation of the real FlyWire https://codex.flywire.ai connectome. It walks across your windows, grooms, sleeps, and decides to flee your cursor with the same neurons a real fly uses. Fork of DenisSergeevitch/desktop-fly — this one gives the fly a sense of smell for vibecode. It scans your disk for agent markers AGENTS.md , CLAUDE.md , .cursor/rules , .kiro/steering and ~40 more and turns anything on screen that leads to them into an odour source: an editor or terminal window with the project open, a row in the front Finder window, a folder icon on the desktop. An open project smells strongest, a closed icon weakest, and the reach of each grows with how much vibecode it holds — a hub of six marked repos is smelled across the whole screen, a single weak folder only from nearby. The steering neurons then walk the fly there, and when the smell is far the population wakes up enough to make it fly. The fly's brain window: 23,210 real neuron soma positions from FlyWire v783, with live spikes flashing at real neuron locations. The two glowing yellow markers are the Giant Fibers — the escape command neurons. Click any region to stimulate it. 23,210 neuron soma positions of 139,255 in FlyWire v783 render the rotating brain window, colored by super-class FlyWire's coarse cell-type grouping . A 668-neuron circuit with ~19,000 real synaptic connections synapse counts, signed by neurotransmitter prediction runs as a 1 kHz leaky-integrate-and-fire LIF simulation: LC4 104 + LPLC2 210 looming-detector visual neurons DNp01 / Giant Fiber GF 2 — the escape command neuron DNa01 + DNa02 4 steering neurons · DNp09 2 forward walking DNg11 6 grooming · MDN 4 backward walking "moonwalker" DNp02/DNp04/DNp11 6 escape-maneuver wing neurons- their 330 strongest partners, including ascending proprioceptive and sensory wind neurons Escape is not scripted. Your cursor's approach becomes looming input to the real LC4/LPLC2 cells; the fly takes off only when the Giant Fiber actually spikes through its real synapses — ~1,200 synapses of feedforward inhibition push back, which is why slow approaches are tolerated and fast lunges trigger escape in ~4 ms, just like the real animal. The body itself is procedural FlyWire is a brain connectome — no body geometry exists , with a tripod gait, visible wing-beat, altitude-scaled flight, grooming, and sleep postures. Requirements: macOS 13+ , Xcode Command Line Tools Swift 5.9+ . No permissions or entitlements needed — everything it senses cursor, window frames, clicks-as-taps, thermal state is permission-free. git clone https://github.com/DenisSergeevitch/desktop-fly.git cd desktop-fly ./build.sh ./DesktopFly A 🪰 item appears in the menu bar; quit from there. The fly wanders your desktop on a transparent, click-through overlay — it never intercepts your mouse or keyboard. | item | effect | |---|---| | Pause / Resume | freeze the world | | Show/Hide Brain | toggle the live brain window | | Escape Test loom | inject a looming stimulus, watch the GF fire | | Move to Next Display | hop the fly across monitors shown when 1 display | | Add / Remove Fly | extra flies only fly 1 carries the brain | | Scare Flies | startle everyone | The brain window is interactive : hovering pauses the rotation; clicking a region "optogenetically" stimulates the ~60 nearest circuit neurons for 400 ms. The fly's reaction is whatever the real network does downstream — click the Giant Fiber and it escapes; click DNg11 and it grooms; click one side's DNa01/02 and it turns. | body behavior | driven by | |---|---| | escape takeoff | DNp01 giant fiber spike | | walk vs. rest, walking speed | DNp09 rate | | steering | DNa01+DNa02 left−right rate difference | | grooming | DNg11 rate | | backward scoot | MDN burst | | nervous darting | LC4/LPLC2 population rate | | wing-beat effort, threat wing-raise | DNp02/04/11 rate | | spontaneous takeoff | whole-population arousal | The loop also closes body→brain: the gait rhythm feeds the circuit's real ascending proprioceptive neurons in phase with the legs, and fast cursor motion stimulates its sensory wind partners. Window terrain : window top edges are ledges — the fly lands on them, walks along them, rides a window you drag, and startles when one closes under its feet. Window looms : a window appearing near the fly feeds the looming pathway; the circuit decides whether to flee your dialogs. Clicks are substrate taps ; clicking next to the fly startles it through the wind→GF pathway. Typing is vibration idle-time API — knows when keys were pressed, never which . Circadian rhythm : dawn/dusk activity peaks, midday siesta, night quiescence. Sleep : idle at night → it sleeps, breathing slowly, with raised arousal threshold; it grooms after waking. Temperature : flies are ectotherms — a hot Mac is a faster fly. data/ ships with compact derived files. To rebuild them from the raw FlyWire Codex dumps ~60 MB download : mkdir -p /tmp/flywire && cd /tmp/flywire B=https://storage.googleapis.com/flywire-data/codex/data/fafb/783 curl -O "$B/classification.csv.gz" -O "$B/coordinates.csv.gz" \ -O "$B/connections.csv.gz" -O "$B/consolidated cell types.csv.gz" cd - && python3 etl.py /tmp/flywire ./DesktopFly --simtest circuit invariants: GF silent at rest, 4 ms loom latency, ... ./DesktopFly --behaviortest 17 end-to-end checks: stimulate neurons - body reacts ./DesktopFly --snapshot f.png offscreen fly render ./DesktopFly --brainshot b.png offscreen brain render Honesty section: the connectome gives wiring, not physiology. The LIF dynamics, neurotransmitter signs ACh+, GABA−, Glu− , the gap-junction boost on LC→GF and wind→GF documented electrical coupling , synaptic delays, and the sensory transduction cursor → looming value are standard modeling choices layered on the real graph. Everything downstream of the sensory neurons — who connects to whom, and how strongly — is FlyWire data. Code is MIT. The files in data/ are derived from FlyWire FAFB v783 and are CC BY-NC 4.0 — see data/DATA LICENSE.md /kulikov0/desktop-vibe-fly/blob/master/data/DATA LICENSE.md . If you use this, cite: - Dorkenwald, S. et al. Neuronal wiring diagram of an adult brain. Nature 634, 124–138 2024 . https://doi.org/10.1038/s41586-024-07558-y https://doi.org/10.1038/s41586-024-07558-y - Schlegel, P. et al. Whole-brain annotation and multi-connectome cell typing of Drosophila. Nature 634, 139–152 2024 . https://doi.org/10.1038/s41586-024-07686-5 https://doi.org/10.1038/s41586-024-07686-5