2026 has been the year that LLM development has boomed, and with it more software than we had the year before, with some of it being developers building things they wanted, but never could quite spare a couple of weeks to build out. This will not be a post about LLMs besides this introduction section and some stray thoughts, but every project listed here was built with the assistance of a ghost in the machine.
Like a majority of developers in our field, I started exploring LLM development this year through prompting than via an IDE/editor. As developers, our jobs are a continuing education field. Learning new tools and keeping up with changing standards to fulfill the obligations of our profession. Personally, I usually do this through personal software or Open Source code/projects. Not everything I release makes me $$$, but it is training and a way to learn new things that in turn get used in my professional job.
There are a couple of reasons I like doing personal or throwaway projects when learning a new tool, LLMs in this case.
- 1.
The first thing you build with it is usually shit. You don't know the tool, so you usually end up doing something wrong, or maybe not the best. Let's you learn the hard lessons without inflicting that on others or in a setting where you are paid for this labour
- 2.
Building software for others, you usually put yourself in the users of that softwares shoes, or get requirements from others. Personal software you're the user who wants it so it helps to know exactly what you want and how it should work as you're building it out. So you don't have to figure out the tool and parse what someone wants you to build.
A note about the quality of the software. A lot of these projects were written entirely by an LLM. I try to be very careful about what I post publicly about what I work on and what I plan on continuing to support in the future. These are almost all personal projects for myself or others. Almost all if not all, were written completely by an LLM to explore what its strengths and weaknesses are as a tool to write software. I am still trying to come to grips with the world we live in that has the ability to create unlimited projects, and what that looks like. What do I share with people? What do I support if I do share with people? And the million other questions we are asking ourselves about LLMs. You may find some of these useful, or completely broken. But this is a showcase of what I've been building over the year and not sharing online.
ClaudeBar
The first one up is a little macOS Swift menubar app to show my Claude usage. Reads your Claude API token from your Mac's keychain store. Does not show anything in great detail, or even support the Fable usage bar, but it was my first test of directing an LLM to read a source repo (original idea I saw in python) to a new language. I was wanting it as a native MacOS in swift. Can see the source on the tangled repo.
The Final Countdown
My fiancée sent me the below text asking for a simple count down app. I thought the name "The Final Countdown" would be a fun app name for a simple personal app never published on the app store. My fiancée, who is using it to count down till our wedding, was not pleased with the name 😅. But she does like the app!
Was one of the more advanced apps feature wise where I wrote out the specs and how I wanted it to work through a series of different prompts, and let it run with it. A simple countdown app that has some customization and shows widgets on your iOS homescreen. Can view the source on tangled.
Fandom Client
Lots of amazing wikis on fandom.com, along with lots of ads. I can't fault anyone for getting the paycheck, but the ads were to the point that I cannot use it sometimes. While playing The Witcher 3 this year I encountered a few instances of loading a page, starting to read, and bam, hit by an ad that closed the whole page or took me back to the start.
Fandom's are powered by mediawiki.org, which each one exposes an API you can hit. So I thought I would try to write my own client to those APIs. it's not very good, and I think it's a great example of "LLMs can build a lot, but unless you put in the time to be specific and work with the project it's not going to be good." Can be seen in the pictures below comparing my client vs the actual wiki with all the care and love those editors put into making those pages.
Verdict of this? Can tell that even using all the new frontend tools, caching, etc fandom's frontend was still much more usable and with mine being a pale imitation, even with all the ads on fandom's. And that's an important lesson to learn with these tools, even with all the power they give developers, you are not going to be writing great software right off the bat and replacing years of care and work in a day to make a better product. Can view the code on tangled
Follower Cleaner
A very simple webpage that loads in who you follow (maybe should have been called following-cleaner??), orders it by who hasn't been active in a while by the repos rev (gets updated on a repo action so it can include likes and not just posts), then it gets their last Bluesky post so you have a smidge of context when deciding if you want to unfollow or not. I use it every once in a while to clean up who I follow. That's not something I really want automated, that seems somewhat cold to me personally. But I wanted all the details there so I can make pretty quick decisions. Can see the source code on tangled, and I actually published this one at follower-cleaner-production.up.railway.app since it's pretty handy and I use it a good bit.
I built this, or well a LLM built this a few months before created unfollow.garden which does the same thing with a much better name and a lot more care in creating it, so may check that out instead if you are looking for a tool that helps you clean up who you are following. Sharing mine here cause it's part of my "Personal software built this year"
Cross Reader Sinker
Some of us may remember the joke "I'm going to rename my iPod to the Titanic so iTunes says "syncing the Titanic." Well, I took this the opposite way and called it "Sinker" like syncer, but funnily enough, it does no syncing yet. So it's all a lie. I also called it Cross Reader instead of Cross Point Reader?
added OPDS support to a while back and this is how I load ebooks onto my CrossPoint powered reader now, Nick was even kind of enough to add XRPC endpoints when I asked so I could finish building this out and automate uploading them to Bookhive's OPDS, but I um. I haven't added that yet...(sorry nick I will soon, thanks for adding them!)
So what does this do for now? Well, it runs the compression and organization that CrossReader does when you upload a book to the device via the web portal, then I manually upload it to Bookhive's OPDS. I want the optimizations ran because it greatly lower the book size and some other things to help the book read on the resource constrained xteink devices. The plan is a folder I just drop ebooks in and it auto optimizes them, checks if they have been uploaded, then uploads them so I can download them onto my reader. Can see the code on tangled
Auxio Teal fork
The app that kicked off this post and what I've been getting the most mileage out of lately as someone who recently moved to Android and started buying music again instead of streaming music.
Lots of personalized software written this year. Most has been "wow this is a really great app, but I wish it had xyz and I know only i care." Now I have a fork of an android music player that writes teal.fm records and syncs new albums from my nas via webdav
Auxio is a fantastic music player. Ever since I moved to Android over a month ago, it's what I use to listen to music. But with it, I missed having what I listen to track with teal.fm.
This fork adds 2 features
Tracks what you listen to teal.fm. Uses App Passwords so I don't have to re-login every 2 weeks with a public oauth client or run a web server to proxy those writes
Can sync/download your music library from a webdav share. I have a Synology NAS and wanted an easy way to sync what I buy from Bandcamp instead of download, put in a zip, download again on my phone and move it to the folder.
Neither of these features feel in line with the goal of Auxio as a simple offline music player, so I have not reached out to see about having them merged, and I feel like doing so would put an extended strain on an open source maintainer. Especially as these commits/features were generated by an LLM. I have made a small sponsorship as thanks for such great software and a base for me as a developer to be able to add features onto. Can see the source on tangled
CYDD(Cheap Yellow Display Dashboard)
The CYD is a cheap yellow display powered by an ESP32, a great cheap device to start writing some embedded code on. More info on it here. I bought mine a year ago for $19, and it has sat on my desk ever since. Before I got nerd sniped by atproto I was very into rust embedded development (See Rust 🦀 on the RP2040, Running a HTTP server on the Pico W with Rust 🦀, Getting started with Rust 🦀 on the 10¢ microcontroller, and more on this blog), but all of that was written by hand without LLMs.
Learning embedded development and writing code that close to the machine is the most fun I have had in my development career and some of the most rewarding. It was a lot of taking things that did something one way, and doing it in another with a new language, a new device, and usually different hardware. A never ending series of challenges, and usually was all personal projects so could make them as polished or as bad as you'd want!
I was a bit nervous to see something I had so recently spent weeks on learning to perfect and write code just for a single device distilled into a series of English requests to add the features in an afternoon. Well, it did it. It wrote what seems to be a pretty solid rust firmware for the CYD. Even did some crafty parsing of JSON requests to cut down on memory. Still thinking about how I feel about it, but the CYD in it's 3D printed case sits on my desk and I use it daily.
Features
Get's my local weather from open-meteo.com. Life hack, use the dew point to know how it actually feels out side. I have that on the dash
Sets the RTC from an API call and shows a clock. Syncs every so often to help with drift since I don't think it has an external timing crystal or RTC.
Shows what I am currently listening to from my teal.fm status record on my PDS.
Has a light/dark mode as well as changeable accent colors
Touch screen calibration to help calibrate where you are pressing to the software buttons.
A keyboard to join a wifi network
Saves most settings to flash like wifi, accent, and mode so it survives reboots
Can view the source on tangled.
What have I learned?
I learned a lot about how to use these tools while writing these projects. What worked well and what didn't. I think the main takeaway is: if you care it shows, if you don't, it does not show. It is also still important to know what you want built, what tooling to use, what frameworks, what UI components, what APIs, etc. Knowing this and directing the LLM has always led to software that I wanted and performed more along the lines I expected.
A lot of these projects are very simple, or full of bugs and the original version, if there is one, is superior in every which way thanks to the love and care that went into those projects. I think you can use these tools to make the process of creating software faster, but I still think leaving a human in the loop is the only way to make software great.
I think most developers, when they release a project, know it's not done. There's a bug they can't quite figure out, there's a feature they missed, or any of the 100 things. Telling an LLM "do a breakthrough" is not a silver bullet to do all of those things, but I do think using an LLM does give the developer the capacity to do that where they may of not been able to before with a smaller investment in time and effort.
All of these projects showed me that in one way or another, and I ended up with some stuff I use almost daily now.
I may write another proper LLM post one day and explore these concepts in more detail and how I feel about them, like I did in The LLM post. I may write one that talks more so how I use these tools when I build software for others. Let me know what y'all think about that? But anyhow, thanks for reading and checking out my slop gallery of learning.