Starlings Art is an interactive, GPU-powered simulation of a starling murmuration: tens of thousands of starlings flocking and swirling at sunset over the historic windmills of Kinderdijk in the Netherlands. Watch the murmuration shift and pour across the sky in real time, add or chase the starlings, and read how the simulation recreates the science of how real murmurations move as one.
Just before dusk, tens of thousands of starlings rise as one. They fold and pour across the sky in a single undulating shape: a murmuration. No leader, no plan, and no mistakes. Just meditative, pulsing and swirling elegance - each bird aligning with its closest neighbors, while the flock yet behaves like a single mesmerizing organism. As one, they turn the last light of the day into beautiful aerial dance.
This is a real-time, GPU-driven recreation of that phenomenon, a massive flock of starlings called a murmuration, set over the windmills of Kinderdijk in the Netherlands, a UNESCO landscape of nineteen 18th-century windmills strung along the polder canals. Here, it is imagined by AI as it might have looked before the throngs of tourists: still water, setting sun, and a sky alive with starlings. Sights like this were once ordinary across the Netherlands, and even today great murmurations still gather over Dutch cities like my college city of Utrecht on late autumn evenings, swirling above the rooftops before settling to roost. I used to watch them from my dorm room 20 years ago and now, living far away and in a wave of nostalgia, I decided to recreate their majestic, hypnotizing display.
How does this simulation work?
This simulation can be pretty intense for your phone, especially with larger flocks. Tap the scales to get a more battery-friendly, balanced experience or turn it up and use your phone as a hand-warmer!
Version 0.40.0 build 308
Created by Eric Lammertsma in May 2026.
Privacy Policy
Coming soon: the Starlings Android app, where you can make this your live wallpaper!
Email [email protected] to become a tester.
A real-time 3D starling murmuration and the science and sleight-of-hand behind it.
At dusk the sky over Kinderdijk fills with starlings. They lift from the reeds in thousands and gather into a murmuration, a vast, breathing shape that folds, stretches and pours across the last light of the day. There is no conductor and no choreography. Every starling is simply watching its neighbours, and from tens of thousands of tiny, individual decisions something whole and graceful emerges. This is an attempt to bottle that feeling: a living simulation in which each bird thinks only for itself, and the flock doesn't think at all.
The heart of it is older than the computers that run it. In 1987 Craig Reynolds showed that convincing flocking needs only three rules, applied by every individual to the few neighbours around it. Call them the forces of will or the decisions each starling makes for itself: separation, the urge not to crowd or collide; alignment, the instinct to steer roughly the way the neighbours are steering; and cohesion, the gentle pull back toward the heart of the group. Hold those three in balance and a loose scattering of points becomes a murmuration.
Real starlings, though, are subtler than the textbook flock and a landmark study of genuine murmurations over Rome (the STARFLAG project, Ballerini and colleagues, 2008) revealed how. A starling doesn't respond to every bird within some fixed distance; it tracks a fixed number of nearest neighbours, around seven, however near or far they drift. This "topological" rule is what lets a murmuration tear open around a falcon and knit itself whole again. The simulation follows the same idea, each bird reading a handful of true neighbours rather than a crowd.
It also honours something the classic model ignores: a bird can only act on what it can see. Starlings have eyes set to the sides of the head and a wide blind region directly behind them, so here every bird is given that same field of vision. They have a rear blind cone in which neighbours are simply invisible to it. A starling no longer reacts, impossibly, to a bird tucked behind its own tail.
Around those decisions plays a second set of forces, namely the world acting upon the birds. Each starling has a minimum and a maximum airspeed and transitions smoothly between them. A momentum rule limits how quickly it may gather speed, and lets it shed speed faster than it builds it, so birds flare to brake and flap harder when they climb or press for pace. Banking now leads the way: a bird rolls into the coming turn naturally. A slow, drifting field of wind and turbulence breathes through the whole flock, giving the murmuration its restless undulation. And a soft, invisible encouragement to stay in view as a gentle force that strengthens the further a bird wanders keeps the spectacle on screen without ever bouncing the birds back off a wall.
The part that fools almost everyone? There is only one image in the entire scene with no foreground layer at all. The reeds you seem to watch the reflections slip behind are not a separate picture sitting in front of the water. Every starling is mirrored beneath the waterline and then blurred — far more vertically than horizontally — so the reflections smear and shimmer downward exactly the way the reeds' own reflections do in the AI-generated photograph. The occlusion is done entirely in code: the reflection paints each bird only where it finds bright, sunlit pixels, identified as the white-yellow-orange glow of the sky on the water, and leaves the dark reed silhouettes bare. So the reeds appear to stand in front of the flock and hide its reflection, when in truth they're all just part of the background.
The sun sits low, far behind the scene, illuminating the birds and warming the haze. Deep inside a dense murmuration the light genuinely dims: volumetric shadowing lets the birds in front shade the birds deeper in the flock. This is the same darkened look real murmurations take on when they bunch together. Each bird also casts its own soft shadow, birds in the distance gently shaded by haze, and because the birds are illuminted by the sun below, the water reflects the brighter underside of their wings. Although these effects are subtle and mostly noticed at the edges of the scene, together they help make the murmuration look that much more realistic.
But how can this be possible on the web? None of this would move if it were computed the ordinary way. Every starling's position and heading lives in a texture on your GPU, and the flocking is solved in parallel, calculating millions of factors across thousands of birds on every frame. This is how the scene can hold a murmuration of up to 262,144 strong and still run smoothly. The flock automatically sizes itself to your device to ensure it runs well and still looks great, and you can take part: sweep through the sky and the starlings scatter from you like a predator, or open the controls to summon more. No two moments ever repeat.
Meditate and watch for a while. Like the real thing, it rewards patience. The longer you look, the more the murmuration seems to be alive.
Starlings is about birds, not your data.
The Starlings website and app are all about showing you beautiful murmurations, for free, with no ads and no accounts. There is nothing to sign up for and nothing to fill in. You open it, the birds fly, and that is all it ever asks of you. Here, in plain language, is what happens with your information.
There are no cookies, no advertising trackers and no code from other companies running in your browser. Everything the page needs, from the birds to the photograph of Kinderdijk behind them, comes from Starlings itself, so nobody else sees your visit. Nothing is ever sold or shared, because there is nothing to sell or share.
Only anonymous usage data: simple counts that describe a visit rather than a visitor. In practice that is little more than the ordinary note every website makes of a page being opened, such as the time, what was asked for, the kind of browser or device, and roughly which country the visit came from. It is only ever looked at as a total, and it exists for one reason, which is to know whether the murmuration is running well for everyone. No personally identifiable information is collected or retained.
The website is hosted by Google Firebase Hosting, which keeps a short-lived log of those requests in order to serve the pages and keep the site safe. Those logs are deleted automatically and are never used to recognise or follow anyone.
The Starlings app, live wallpaper included, does not have permission to access the internet. Android itself enforces that, so the app cannot send anything anywhere even if it tried. Every bird and every pixel is already inside the app and runs on your own device, quite happily in airplane mode. The Google Play Store still shows any developer how often an app was installed and how people rated it, which is something the store does for every app rather than something Starlings collects, and it names nobody.
Starlings remembers your display settings so that it looks the way you left it: the quality level you chose, and in the app the number of birds you picked for your live wallpaper. They are saved on your own device, in your browser or in the app's own private storage. They are not tracking cookies, they never leave your device, and clearing your browsing data or uninstalling the app erases them completely.
Starlings is a flock of birds at sunset and is suitable for every age. Since nothing personal is collected from anyone, nothing personal is collected from children either. There is nothing here for a child to fill in, and nothing about a child to store.
Starlings is built to comply with the European Union's General Data Protection Regulation (GDPR) and its equivalent in the United Kingdom, with the California Consumer Privacy Act (CCPA), and with the Children's Online Privacy Protection Act (COPPA) in the United States. Those laws give you the right to see your personal data, to correct it, to have it deleted, to take it elsewhere and to object to its use. Starlings meets all of them in the simplest way there is, by never collecting personal data in the first place. It is not possible to request data or its deletion, because none is collected. There is no cookie consent banner here for the same reason: consent is needed for tracking, and there is none.
One detail is worth naming plainly. Every visit to any website arrives with a network address, and it sits in the short-lived server logs described above. European law treats that as personal data, so to be precise: it is used only to deliver the page and to protect the site from abuse, it is kept briefly and then deleted, and it is never linked to a person or combined with anything else. Starlings is run by Eric Lammertsma, who is responsible for this policy and for that handful of data. If you ever feel something here is not right, you are free to raise it with your national data protection authority, though an email would probably be quicker.
Write to [email protected] and Eric will answer. Any question about privacy is welcome, even if the answer is usually going to be that there is nothing to show you.
Last updated: August 2026. If this policy ever changes, the new version simply appears here.