← Home

How Fly//Flirt works

Two people chat. An AI reads each message and turns it into seven numbers. Those numbers drive real neurons in a fruit fly's brain, and the activity spreads through the fly's real synapses. You watch it happen in 3D, and at the end you get a verdict that says which of your messages caused which neurons and connections to fire.

The connectome is real

The wiring diagram comes from the MaleCNS v1.0 connectome (Janelia FlyEM), the complete map of a male fruit fly's central nervous system: about 166,000 neurons. We use a 1,350-cell subgraph with 50,158 real synaptic connections, built around the pC1 courtship hub (the cells that keep a male fly in a courtship state) and its strongest real partners. Neuron identities, neurotransmitter predictions and synaptic connections come from the dataset. The 3D view preserves the relative neuron positions from the dataset. Thin links show a selection of real connections, while travelling dots show simulated activity.

RoleCells in our subgraph
context1050
brake28
input112
accumulator156
output4

From words to neurons

Each message is scored on seven qualities. Each quality drives a real input population that feeds the courtship hub. This mapping is our modelling choice; the populations and their wiring are real.

Message qualityDrives real neuronsKind
warmth (opposed by tension)mAL_m1GABAergic brake
reciprocity (opposed by tension)mAL_m8GABAergic brake
humorAVLP732m + AVLP733mcholinergic input
curiosityLC16 (visual)cholinergic input
disclosureLH003mcholinergic input
energyFLA001mcholinergic input
reciprocityAN08B020cholinergic input

The two mAL populations are GABAergic: they act as a brake on the hub. Warmth and reciprocity release the brake (disinhibition); tension tightens it. So friction genuinely works against chemistry in the circuit.

Who caused what

Each neuron's activity is updated with a leaky, thresholded rule. Because the rule is applied neuron by neuron, the result can be split exactly into per-message contributions that add up to the true state. A connection is credited to the message that drove its sending neuron. That's how the verdict can say "message 4 was responsible for these neurons and these connections", and the numbers always add up.

It's a cartoon, not destiny. This is a playful visualisation, not a compatibility test. The fly circuit is real; the mapping from chat to neurons is ours. Please don't make life decisions based on it.

The AI, and what happens when it's busy

Messages are analysed by free-tier language models. Each model has its own rate limits, so Fly//Flirt tries an ordered chain (groq:qwen/qwen3.8-27b → groq:openai/gpt-oss-20b → groq:openai/gpt-oss-120b → groq:allam-2-7b) and skips any model that is cooling down or near its daily quota. If every model is unavailable, a built-in local scorer takes over instantly, so the chat and the brain never stop. Your cockpit tells you when the local scorer was used.

Privacy

Start a chat