Modernizing LeshyLabs.com
Posted by
Doug Haber
on 2026-02-07
Leshy Labs has received its biggest update in years. The site now has much better mobile support, dark mode, and a number of fixes and new builds for apps that had slowly decayed as browser standards and browser strictness evolved. A lot of things that mostly worked finally got the attention they needed.
The original site was created in 2013. That was the last year when websites did not have to be mobile friendly. At the time, I was focused on building HTML5 apps and games, and mobile browsers could not really handle much of that yet, so mobile support was very much an afterthought.

Everything was handwritten without frameworks, except for Skeleton.css. I also wrote LCMS, the Leshy Content Management System, a Perl based static site generator that made managing the site relatively painless.
When LeshyLabs LLC was dissolved, I decided to keep the site around as a personal site. It is now a place where I share things I am working on, experiments that interest me, and the occasional blog post, though not very often. I added some new content occasionally, but I was never great at finding the time to make consistent updates, and the site mostly stayed frozen while the web moved on.
Despite that, many of the older apps on the site still see regular use. The most popular ones are the "classic" Leshy tools including SpriteSheet Tool, which is badly named for historical reasons but is really a texture atlas and bin packing tool, SFMaker, a sound effects generator inspired by sfxr that can generate sounds from short parameter strings or export them as WAV files, and Leshy Tuner, which was one of the first instrument tuners available on the web and ended up being embedded by a lot of other sites, especially in music education.
Alongside those are a lot of smaller projects, games, and odd experiments, including things like Digital Dreams and Reality Tunnels. There is also Meowotron 1811, a game I tried to write for JS13k inspired by Llamatron, and Galaxy++, a lightly enhanced port of the Galaxy screensaver from the Xscreensaver collection.
In 2025, as AI started to become genuinely capable, I finally decided to modernize the site with help from Codex. This turned into a much larger project than I initially expected.
By that point, I had already written a more modern static site generator called Igloo, used by Reality Tunnels, and I wanted to switch away from LCMS entirely. Igloo was originally written for comic websites and did not support blogging, so that gap had to be filled.
I set things up with a working directory that included both the leshylabs.com site and the Igloo codebase. I then wrote a long prompt that combined architectural instructions with very specific implementation details. The goal was to add blogging support to Igloo, convert the existing site to the new format, remove the old CSS framework, and modernize the layout using things like Flexbox.
To make the agent workflow scale, I used a very simple poor man's work queue. This allowed one agent to write tasks for other agents, and for new tasks to be picked up automatically as others finished. It was not elegant, but it worked surprisingly well.

Amazingly, about 90 percent of the conversion happened automatically. A blogging module was added to Igloo, the site's source files were converted to the new format, and the CSS was modernized. It even fixed a handful of accessibility issues that I was completely unaware of. Large parts of the site immediately looked better than they had in years.
As usual, the last 10 percent was where most of the real work lived. Polishing styles, fixing edge cases, and making the various apps behave better on mobile took significantly more hands on effort than the initial conversion.
I have a lot of ideas for further improvements all around the site. I'm not sure what will come next, but AI is making it easier than ever to get things done, and I hope to find some time to modernize apps, and add features that I wanted years ago. I've already outlined over a dozen blog post on various topics, mostly around AI. I also am sitting on a large pile of projects that I haven't shared with the world yet. Next up to release might be Trash80, a Javascript emulator for the TRS-80, with terminal and browser support as well as a debugger.
Many of the apps on this site still have a fair amount of usage. If you run into any issues, please let me know and I'll try to keep it all working.