Motes Open Motes

How Motes is made

Motes is four painted places and music written while you listen. This is what made each part, and what Motes keeps about you.

Music
Composed in your browser as it plays, by Motes’ own open-source engine. No AI music model and no recorded songs.
Paintings
Made with an AI image tool from written prompts, edited into matched pairs, then given Motes’ own painted finish. Every prompt is published.
Privacy
No cookies, accounts or identifiers. A few anonymous milestones, which you can switch off, and nothing at all if your browser asks not to be tracked.

The music

Every song is written in your browser while it plays. Motes’ composer takes the date as a seed and plans an hour of eighteen connected arrangements: a short theme that is stated, answered and brought home, chord loops voiced so each chord leads into the next, and sections that build and thin out. The same place on the same day gives the same hour; tomorrow brings a new one.

The piano notes are real recordings: twelve notes of a Kawai upright, recorded for the FreePats project and dedicated to the public domain. Everything else, the electric keys, mallets, bass, drums and the whole synthwave style, is synthesised with Web Audio. There are no recorded songs or loops, and no AI music model.

Every place’s scene sounds are field recordings, also dedicated to the public domain: rain on Neon rain’s garden, roof and pond; wind in the station’s snowy trees, its clock and the evening train; the meadow’s grass, blackbird and bees; the bay, the harbour town and the gulls at the coast. They are placed around you where the painting puts them and changed by the same seed, so an hour never repeats. Only Neon rain’s eave drips are modelled in code.

The engine is open source under the MIT licence. Read the music engine on GitHub.

The paintings

The paintings were made with an AI image-generation tool (OpenAI’s, used through Codex) from written prompts. There are sixteen: each of the four places has an arrival painting and an evening painting, and a Halloween pair for the last week of October.

The evening and Halloween paintings are edits of the originals, made so the camera, the shoreline, the windows and the water stay exactly where they are. That is what lets a place move from one to the other over an hour without anything sliding.

Before they are served, every painting goes through the same finish, a painting pass written for Motes: a brush that turns fine detail into soft strokes, one set of colours shared by all four places, a gentle glow round the lights and a faint paper grain. Big screens get a sharper copy, enlarged with Real-ESRGAN, an open-source upscaler, before the same finish.

Neon rain on arrival: a rooftop tea shelter and pond under a bright blue rainy sky.
Neon rain, arrival
The same rooftop in the evening: indigo clouds, a darker city and warm lantern light.
Neon rain, evening

No image is generated while you listen: the same sixteen paintings are served from motes.sh. Every prompt is published, including where a reference image set the mood.

What the code animates

Everything that moves is drawn by Motes, in your browser.

Light
Over about fifty minutes of listening, each place moves from its arrival painting to its evening one. The sky, the distance, the sheltered foreground and the water change at their own pace, and lamps and windows warm on their own.
Water
Reflections move by sampling the painting as it is at that moment, so they darken with the sky. Tap the water and it ripples, only inside the painted shore.
Weather
Rain, snow, steam from a cup, drifting pollen and, later in the evening, fireflies.
Events
A train calls at the station, a boat crosses the bay, birds and butterflies pass through the meadow and a shower crosses the city, once or twice an hour rather than on a loop.

The date chooses the day’s place, weather, light and the timing of those events, so each day is its own edition. Seasonal objects, like Halloween’s jack-o’-lanterns, are always painted into the art; the code never draws objects over a painting.

Privacy

Motes sets no cookies and has no accounts. It sends a handful of anonymous events to PostHog’s EU cloud, by way of motes.sh: that you arrived (and the ref of the link you followed), your first Listen, 5, 20 and 60 minutes of listening, one event when you pass twenty minutes in a week, shares, and the first time you open the small window. No identifier is sent or stored; PostHog counts visitors with a hash it makes on its own servers and changes every day.

To count weekly listeners, and how many come back, without an ID, your browser keeps this week’s listening minutes and the week you first listened. That record expires thirteen months after your first week and is never extended. The numbers are used only to tell whether changes make Motes a better place to stay. Your sound and motion settings are kept too, so Motes sounds the way you left it.

If your browser sends Global Privacy Control or Do Not Track, Motes sends nothing at all. Clips are made on your device and never uploaded. Every request the page makes, events included, goes to motes.sh.

Licences

App
AGPL-3.0. Code published up to commit abf0a44 was dedicated to the public domain (CC0) and stays so.
Music engine
MIT, so it can play elsewhere with a credit line.
Paintings and identity
The paintings, their masks and evening arcs, and the Motes name and logo: all rights reserved, to the extent rights exist. See trademarks.
Piano
CC0, from FreePats’ Upright Piano KW.
Scene sounds
CC0 field recordings from Freesound, by twenty-three recordists, each credited in the provenance.
Fonts
EB Garamond and Nunito Sans, under the SIL Open Font License.
Clips
Encoded with Mediabunny (MPL-2.0). Browsers without their own AAC encoder use Mediabunny’s, also MPL-2.0, a WebAssembly build of FFmpeg’s LGPL encoder.

All the source is on GitHub.