digitalblue

Alex Blackmon · digitalblue.ai

Things I build in my free time.

Because it's fun! (So most are works in progress.)

This is a place to put weekend projects.

See the 19 projects
Alex Blackmon
Projects

All projects, grouped by type

Note: None of these have been perfected. They were made for fun, and all still have bugs. I'm putting them up so that they're not just sitting at my computer for only me to see.

Games and puzzles

Build out your robot from a budget of parts and choose where each one mounts, then the Smart AI drives it on its own. Each of the 20 levels is a puzzle that only the right loadout gets through.

On a computer, click Begin, drag parts onto the sockets, then click Launch and watch the Smart AI drive.

Alex’s note: I had this idea and wanted to see it in action. Then it turned out it was pretty fun. So I've been working on it more, and turned it into a strategy puzzle game!

Dijkstra path planning, Matter.js, PixiJS (WebGL), React

A puzzle of light and perception, 94 levels long. Figuring out how it works is part of the game.

Click begin, with your sound on.

Alex’s note: I gave a detailed but unspecific prompt for a type of puzzle game I would like, put it on loop for a long time, loved it, iterated on it.

Web Audio API, Canvas 2D

Place musical notes on a honeycomb grid, and when touching notes make a chord, they clear for points. More kinds of chords unlock as you play.

Start with Harmony Mode, sound on; a short tutorial runs the first time.

Alex’s note: Another fleshed out “unspecific” idea just to see what came out after a long day of automated looped iterations. This has not been tuned for gameplay, but something about it is still so satisfying to me.

Web Audio API, Canvas 2D, service worker (works offline)

A tile-turning puzzle: connect the source to every goal in as few moves as you can. It's 30 levels long and can be trickier than it looks.

Click to start; Z undoes a move and R resets the level.

Alex’s note: This one was also not directly an idea of mine, and the playstyle doesn't quite fit me, but it was fun enough, so it still has a place here!

Web Audio API, Canvas 2D

Four robots, each with its own weapons and special move, fight in an arena while you watch. They're all run by the same trained brain, so it's really fighting itself.

Click to start; press Tab to see the brain.

Alex’s note: I had an idea to have a neural network train itself to battle to see what happens.

Neuroevolution (NEAT), Python via pygbag (WebAssembly), pygame-ce, NumPy

Simulations

Sixty microbes control a jellyfish. They sense and try to reach a piece of moving food. Every 5 seconds the jellyfish tests a slightly changed version of itself.

It runs by itself; use a wide desktop window.

Alex’s note: I had this idea pop in my head and didn't spend a ton of time on iterating this, but I LOVE the concept and how it looks!

Neuroevolution (evolution strategy), Canvas 2D

Hundreds of little creatures eat, have babies, and die on a big world, and each baby gets a mix of its parents' genes. Turn the sound on and the minimalist music changes with the part of the world you're looking at.

Press UNMUTE for the music, and click a creature to check on it.

Alex’s note: Named because my best friend referred to them as such.

Web Audio API, simplex noise terrain, Canvas 2D

Each creature here has a small brain that keeps changing while it's alive. They eat, have babies and mutate, and you can drop food, build walls, make it rain or zap one.

Click a creature to see its genes and brain, or pick a tool on the right and click the world.

Alex’s note: I had big hopes for this, but it never reached “love” status compared to the Goobers.

Neuroevolution, reward-modulated Hebbian learning, Canvas 2D

Observe fifty bees at a time trying to get through 13 obstacle courses of walls, pushable blocks and spinning bars. After each round, the best bees' brains are mixed and handed down to the next batch until they succeed.

For quick results, pick level 11 or 13 and set Speed to 20x.

Alex’s note: Me: What if we put a bunch of bees in a maze and let them learn?

Neuroevolution (genetic algorithm), Matter.js, PixiJS (WebGL)

Six kinds of colored dots push and pull on each other and can form clumps, chains and orbits. Click the grid to change who attracts or repels whom, and the sound mode turns their movement into notes.

Best on a computer; press Sound Off to turn the sound on.

Alex’s note: Built (because I was all about the evolution simulations) by my OpenClaw agent during an unattended overnight run. I love watching this one and seeing what happens when chaos interrupts order! This one gave me some fun life epiphanies.

Particle-life model, Web Audio API, Canvas 2D

Particles stick together into little clumps, and clumps with eyes, thrusters and mouths steer toward food and eat it.

Drag the Speed dot all the way right to see more eating.

Alex’s note: This one is fun to leave sitting, like an aquarium!

Particle-life model, spring bonds, Canvas 2D

Particles drawn as bodies, eyes, limbs, tails and food push and pull on each other. Some of them clump together into things that look a bit like creatures.

Press New Rules to shuffle who's attracted to whom.

Alex’s note: “Life, uh...”

Particle-life model, Canvas 2D

All 139,248 neurons of a real fruit-fly brain (mapped by FlyWire) in 3D, with simulations of which ones fire when the fly tastes sugar or sees a shadow coming. There's a 10-stop guided tour, too.

Give it a moment to load, then drag to spin it.

Alex’s note: I watched a couple seconds of a YouTube video, realized I could download and play with my own fruit fly brain, and here we are.

FlyWire connectome, three.js (WebGL), Python, NumPy, SciPy

The fruit-fly brain from SimuFly, running live inside a 3D fly that stays put (unlike the Arena's flies) so you can try things on it. Offer it sugar and it sticks out its tongue, rush a shadow at it and it jumps, brush an antenna and it moves, or spin a striped drum and its head follows.

Give it a moment to load, then pick a situation and drag the drop, shadow, brush or drum.

Alex’s note: But what if we put it in a fly?

FlyWire connectome, NeuroMechFly body model, three.js (WebGL)

Also made using real fly brains! In a dish, a female and a male fruit fly find sugar, eat, court and mate (he sings to her by vibrating a wing), and her eggs can grow into new flies with brains of their own.

It's a big download (about 60 MB); click a fly to watch it. It can run slowly, because every fly runs a whole simulated brain (over 139,000 neurons) live in your browser, and each new fly adds another.

Alex’s note: But what if we used two flies and let them mate?

FlyWire and Janelia male CNS connectomes, three.js (WebGL)

Tools

Better UTube Search has a system-one AI rapidly judge each YouTube video's transcript and top comments, so you can filter results by things like humor and how genuine the comments are. This demo only has 28 made-up videos with made-up results, all about sharpening a chisel.

Search “how to sharpen a chisel”; every search shows the same sample videos.

Alex’s note: I created this both because YouTube search annoys me too often and to test out Jev AI.

Jev AI, youtubei.js, React, Node.js, Android via Capacitor

Glasses and Android apps

Small apps for the screen inside my Meta Ray-Ban Display glasses: lyrics for whatever's playing on my Spotify, a speed reader, a pet that walks with you, a DJ that matches your walking pace, and dots meant to ease car sickness.

Alex’s note: These aren't for the public as currently I have them loading my info. But I can still show they exist!

DeviceMotion, Spotify Web API, LRCLIB, Flask (Python)

Kikitori

v0.7

An Android app for learning Japanese by ear. It says an anime-style phrase without showing it, you say it back, and it scores how close you got, sound by sound.

Alex’s note: I thought of this while watching anime and wanting to be able to learn by repeating what I heard.

Android SpeechRecognizer and TextToSpeech, Kuromoji, Kotlin

D&D Helper

v0.5

This Android app listens at the D&D table, writes down what's said, and has an AI suggest things for your character to ask or try. Show it a photo of the battle map and it describes the layout and some tactics.

Alex’s note: I hated missing details in D&D intros. Bonus that it gives advice!

Whisper on Groq, OpenAI-compatible chat APIs, Room, Kotlin