The problem with trying to make a fish tank fit in your pocket is that you’ll either end up with water everywhere or a bunch of dead fish. Perhaps that’s why [StratoBuilds] pursued a digital solution instead.
The concept behind Pocket Tank is relatively simple—it’s a small device that displays a virtual tank with a bunch of little fish swimming around inside. It’s based on the Waveshare ESP32-S3-Touch-AMOLED-1.8, which, if you’re wondering, is an ESP32-S3 with a 1.8″ screen attached, all wrapped up in a convenient plastic housing.
Thanks to the powerful microcontroller, there’s plenty of grunt on tap to run and display a small simulated fish tank. [StratoBuilds] whipped up a system wherein fish movement and animations are handled by regular code running at 25-30 fps, while the fish’s decision making is handled by a custom large language model that was condensed down to run on the ESP32 itself. As the fish swim around the tank, the situation is observed by the LLM and the fish’s current goals are changed accordingly depending on what’s going on. Much like a Tamogotchi, there are regular maintenance tasks for the user to handle, too, like cleaning the tank and feeding the fish to keep them alive.
The blog post and YouTube video do a great job of explaining the project; files are on GitHub for those that wish to tinker more directly. It’s funny, because when we normally look at fish tanks, we’re talking about real ones.
Thanks to [56k] for the tip!

Nice! Some improvement needed as the fish are flat and flip like pancakes…
One of those projects that’s fun enough I can excuse the AI-ness. And let’s be honest I love that it’s all done on that off-the-shelf, clearly-seconds-from-smartwatch-factory ESP32 module. A lot of tinkering and hacking is mashing things together into something fun and this checks all those boxes.
That’s right! We weren’t able to make any kind of animated fish tank until LLMs came along.
Useless sarcasm.
What’s old is new again!
Ooh, so close! It’s actually LLMs that have lowered the barrier of entry for this kind of project so that someone with the ideas but not the rote skills could achieve it.
It’s even better than that! Someone with no ideas and no skills can produce something!
Except it’s not just animated, it’s simulated. And yeah I can imagine this running a non-LLM simulation like boids or a cellular automata, but gotta admit having an on-device LLM give each entity unique traits is interesting.
What I mean is, I can somewhat equate using a readymade module vs. cobbling together a micro and i2c devices with using a code assistant vs. handwriting the code (and let’s not get into using readymade libraries instead of bitbanging displays, etc.)
You mean, a Markov chain to randomize the behavior of each fish according to a bunch of canned examples of fish behavior? Funny how the hype of “no rule based” and the fish “having a brain” breaks down to nonsense when you reduce the system down to its operating principles instead of AI mysticism.
The difference with an LLM style AI is the ability to extract patterns out of a large training set instead of defining explicit rules by hand. However, each fish is not truly unique or independent, they’re simply the same extracted rule set run with different weights.
With a limited number of input parameters to choose from, and output actions to perform, there’s only so many meaningfully different fish or behavior the system will produce. The LLM doesn’t “simulate” fish behavior either, not in any strict sense. The model produces behaviorally plausible patterns that are animated by the virtual fish, but these are not causally generated by simulated fish agents. It’s more a “dream of a fish” than a virtual fish that acts as an individual.
Someone else already made an aquarium that doesn’t use an LLM & it runs on a cyd.
+1. I flashed an CYD to that when I saw it, and it’s kinda neat.
With enough time (or AI workforce) I’m in great need of porting Johnny Castaway Screensaver!
You can start with this port to C a friend of mine did. He seems to be on a mission to port JC to every platform that exists. smile
https://github.com/huntergdavis/jc_reborn
A fish screensaver for ants?
Nice one, I might steal this project for myself. Macintosh isn’t pocket sized.
Wow, an LLM is a truly bizarre choice of technology for something like this…
Gonna have to agree, that’s a lot of wasted resources for nothing worthwhile at all. Neural networks could be decent options though, I suppose
My son who is 6 year old love aquariums and can spend hours just watching the fish..he has a goldfish and danio tank..now we are graduating to an aqua scapling for a small.ecosystrm tank..with multiple community fish (minnows, guppies, tetras,) and algae eaters snails and shrimp…….so you can make a fish variety and give fish typesand preference…this can be commercialized easily