REVULATE.DEV

A sea of clouds seen from above, with the peaks of distant mountains breaking through it. Three banks of cloud drift past at different speeds, a flock of birds crosses the middle distance, and a small airship with a spinning rear propeller makes its way over the frame. At night the sky is a deep blue-violet, stars fill the upper half, a round moon marked with two faint craters hangs high on the right, and every so often a shooting star draws a line across it. By day the stars are gone, the sun sits where the moon was, and the horizon burns warm gold.

REVULATE.DEV

Fun projects, built in spare time. Four of them are out here somewhere, along with the edge this site runs on. Keep going down and the world will take you to them.

A lighthouse on a headland above the open sea. Its beam sweeps out over the water in slow turns, surf breaks white against the foot of the rock, gulls cross the sky and two fishing boats ride the swell on the horizon. A small tuxedo cat sits in the grass beside the lighthouse, its tail curled as it watches the water.

Chapter I — the cliff light

OLRITE.LOL

Temporary media hosting, built for the way people share things in Twitch chat. Drop a file, take the link, and the tide has it back by this time tomorrow.

  • Up to 300 MB a file, gone after 24 hours — extendable once, as far as 48.
  • Metadata comes off on the way in: EXIF and IPTC from JPEGs, text chunks from PNGs, GPS and creation time from MP4s and MOVs.
  • Uploading is anonymous — no account needed — and the links are random rather than sequential, so there is no next one to guess.
1 more field note
  • ShareX and Chatterino uploader configs ship with it, eight variants in all, and the thumbnails are tuned to about 10 KB so a chat embed stays light.
  • ASTRO
  • TAILWIND
  • WORKERS
  • R2
  • DURABLE OBJECTS

Private repo — source code is in a private repository

A town built down a hillside above the water, with an observatory on the ridge above it: the dome stands open along a slit and the telescope inside tracks slowly across the sky. Windows warm and dim on their own rhythms behind the rooflines, smoke drifts from the chimneys, two figures walk the road above the water, and fireflies wander over it. On the hilltop beside the observatory a wolf-eared girl in a red scarf stands watching the moon. At night the roofs are plum-dark under a low moon and a field of stars; by day the hills are green, the roofs are red tile, and the moon has faded to a pale disc in a hazy blue sky.

Chapter II — the observatory

LUNA

A Twitch chatbot written in Rust — a clever, mischievous wolf girl who sits up all night listening to a room full of voices.

  • Three AI providers behind one trait — Gemini, Claude and GPT — and the model can be switched per channel while she is running.
  • She can see the stream: frames are pulled on demand and go into the reply she writes.
  • She remembers: nearly a million chat messages in Postgres, recalled by meaning through a local embedding model and Qdrant.
2 more field notes
  • Autonomous mode is paced like one reasonably active human chatter rather than a spam timer.
  • 51 commands across nine categories — trivia, a timeout game, reminders, stocks, 7TV emote search.
  • RUST
  • TOKIO
  • POSTGRES
  • QDRANT
  • EVENTSUB

Private repo — source code is in a private repository

A wide, still lake below a low range of hills on the far shore. A standing stone rises from the water right of centre; every few seconds it rings, and five arcs spread outward across the lake, each one fainter than the one before it. A relay pylon stands on a rock in the lake and another on the headland at the right; a point of light travels the arc of sky between them, and the receiving lamp is already burning before the sending one goes out. At night the sky is deep violet, stars come out above the hills and the lamps lay long reflections down the water; by day it is bright and blue, and a band of mist lies along the far shore.

Chapter III — the still water

ECHO

A Twitch chat client for the desktop, written in Rust on GPUI — the GPU-accelerated UI framework Zed is built on. The chat is drawn onto a canvas rather than assembled out of widgets.

  • A maintained fork of GPUI adds per-pixel glyph coverage masks, which is what it takes to render 7TV name paints properly — gradients clipped to the letters, shadows in the shape of the glyphs.
  • IRC parsing is SIMD-accelerated, a message is parsed once into an immutable slot, and the hot paths take no locks.
  • EventSub over WebSocket, where the new socket overlaps the old one through a reconnect and a 10,000-entry cache makes sure nothing arrives twice.
2 more field notes
  • No performance claim ships without a saved measurement — the repo carries over two hundred timestamped benchmark runs, and that rule is written down in it.
  • Echo is available for Windows through a signed update channel with immutable, versioned packages.
  • RUST
  • GPUI
  • EVENTSUB
  • 7TV

Private repo — source code is in a private repository

A city rooftop under three strings of paper lanterns, with a slim crescent moon above them and the lit upper storeys of other buildings below, their windows waking and dimming. One figure sits alone on the parapet holding a handheld screen; points of light drift down from the lantern strings into it, and each one that lands answers with three small rings spreading out from their hands. By day the same rooftop stands under a morning sun, where the arriving messages read as dark motes falling through a pale sky.

Chapter IV — the answered signal

DANKLY

Echo for iOS

The same idea as Echo, carried in a pocket — a native SwiftUI Twitch chat client for iPhone and iPad, written for iOS 26 with Swift 6 strict concurrency.

  • Chat only, no video player. It is the room, not the stream.
  • 7TV, BetterTTV and FrankerFaceZ emotes, global and per channel, with 7TV emote sets updating live and zero-width emotes stacking the way they should.
  • Open it and read — chat is anonymous with nothing to set up, and signing in with Twitch is optional.
2 more field notes
  • Networking lives in Swift actors and reaches the interface over an AsyncStream, one ring buffer per channel.
  • It shares no code with Echo — two independent takes on one idea, one native on the desktop in Rust, one native in a pocket in Swift. Siblings by conviction, not by dependency.
  • SWIFT 6
  • SWIFTUI
  • IOS 26
  • 7TV

Private repo — source code is in a private repository

A world map seen from above. Four island continents, ringed by pale coastlines, sit in an open sea banded in three shades that roll slowly upward, so the water is never quite still. Small lights mark the edge nodes along their coasts, breathing in and out, and curved ley lines are strung between them. Points of light travel those lines one after another, each one a request crossing the network. Cloud shadows drift over the sea and an airship makes its slow way across the top of the map.

Chapter V — the ley map

THE EDGE

This site runs on Cloudflare's edge — Pages in front, Workers underneath, nothing kept warm in a rack anywhere. Every pulse crossing the map is a request finding one.

  • The page you are reading is prerendered HTML. The words arrive before a single canvas exists.
  • D1 holds the site's data — SQLite at the edge, and the health check says it is answering.
  • R2 holds the objects — the file route reads straight out of the bucket.
  • Workers AI runs a Llama model on Cloudflare's GPUs, reached through a binding rather than an API key.
  • PAGES
  • WORKERS
  • D1
  • R2
  • WORKERS AI

A campfire burning in a clearing at the edge of a pine wood, with a tent pitched behind it and a stream running along the foot of the trees. Two travellers sit on small chopped-log benches facing each other across the flames: one slowly turns a marshmallow on a long stick while the other holds a graham cracker ready, their fire-facing sides warm with its light and a pool of it spread over the ground between them. Embers lift from the fire and leaves drift down through the frame. At night an aurora moves slowly above the treeline and fireflies wander the undergrowth; by day it is high cirrus and drifting pollen instead.

Chapter VI — camp

ABOUT

Not a professional developer — someone who likes finding out what happens when curiosity meets good tools.

  • Most of these start as "what if I tried this" and go from there.
  • Enjoying: Rust, TypeScript, Svelte, Swift, Cloudflare.
  • Exploring: WebAssembly, model fine-tuning, edge patterns.
  • Built with a lot of AI assistance, this site included. That is part of the experiment, not a footnote.
Solstice
MUSIC — OFF