Projects, 2022
I’ve struggled to write about my projects over the past year (there’s just too many of them). To help me focus, I thought it might be interesting to look at some metrics as a way to reflect on 2022.
This analysis is based exclusively on what I can pull out of my local git repositories. That means it misses work on some of my more hardware-oriented projects. It also only includes ‘finished’ changes (those merged into main
).
Repositories
Of the 60 repositories I have currently checked out on my Mac, I made 1466 commits across 41 repositories, changing a total of 244,528 lines. That’s a lot of change.
Restricting our focus to repositories with over 1000 lines of change, we start to get to a more manageable list of 18 repositories:
That still seems a lot to explore, so let’s just focus on the top 81:
This starts to feel a lot more like the year I remember. These top few projects divide fairly cleanly into different categories:
- Apps—Fileaway, OpoLua, Anytime, Symbolic
- Hardware—TinyBoard
- Libraries—Interact
- Fun—Lunchbox Luggable, Elsewhere
Elsewhere and the Lunchbox Luggable are almost certainly in the list because the repositories include auto-generated DXF files that I’m not filtering out. Still, they’re fun, so why not leave them there.
Before we dig into the apps themselves, I’m curious how the time I spent on those apps was distributed over the year:
It feels like this characterises the year pretty well: Sarah and I started the year with COVID, so I worked on Elsewhere (one of my more playful projects), while also working intensely on OpoLua with Tom. Then came a drought as we tried to relocate from San Francisco to the UK (with mixed success). Since then development has slowly picked back up as I’ve been working hard on shipping a few of my longer-running projects.
Apps
OpoLua
15515 insertions and 6178 deletions across 386 commits
The year started with a flurry of activity on OpoLua—an iOS runtime for Psion OPL I worked on with my good friend Tom. It was pretty ambitious and, as it turns out, the only new app I shipped to the App Store in the whole of 2022. I wrote about it at the time, and there’s still a lot to do (including reverse engineering the database format), so please reach out if you’re interested in contributing.
Fileaway
11469 insertions and 11824 deletions across 236 commits
Fileaway has perhaps the longest history of all the projects listed here. It started over ten years ago as a script to help me manage the various documents I receive and, in the time since then, has morphed into a comprehensive Mail-like document management and workflow app for Mac, iPhone and iPad. I had hoped to get it into the App Store in 2022 but the ever changing landscape of SwiftUI, and the app’s storied past left it needing a lot of architectural improvements. Still, it’s now in great shape and I use it daily—I’d love to ship it this year.
(If you look at the metrics closely, you’ll see the codebase actually shrank by 355 lines during the year which, considering I added full iOS support, is a great advert for SwiftUI.)
Anytime
8158 insertions and 6272 deletions across 130 commits
Anytime remains a labour of love that I’m not sure I’ve ever written about on this site. It’s an app for Mac, iPhone, iPad, and Apple Watch, that lets you share your current time with your close contacts. I wrote it as a way to feel more connected to friends and loved ones as I travel, and the Anytime widgets have held pride-of-place on my devices ever since. It has a small user-base that’s never really grown—I’m convinced it offers real utility, but I’ve never quite figured out how to position it to users, especially in today’s rightly privacy-conscious world, where the potential for leaking even something as coarse grained as your time zone is incredibly off-putting to users.
Symbolic
6456 insertions and 442 deletions across 42 commits
Symbolic is the perfect example of a rabbit hole. Written because I write too many apps (all of which require icons), it’s a simple app that lets you create iOS and macOS icons using SF Symbols. I’m actually pretty pleased with how it turned out—it’s currently available as a TestFlight public beta, and I plan to ship it in the coming months.
Hardware
TinyBoard
5709 insertions and 2191 deletions across 111 commits
TinyBoard is perhaps one of my most surprising projects of the year, and definitely the one that still feels most like magic when I use it. It’s a combination of custom firmware for the Raytac MDBT50Q-RX USB and Bluetooth dongle that lets you use your Mac as a USB keyboard and mouse for another computer. I find it perfect for setting up and controlling devices like the MiSTer, or single board computers like the Raspberry Pi. I’m really interested to figure out how I can put TinyBoard out in the world in a way others can easily use it.
Libraries
8039 insertions and 6859 deletions across 44 commits
Interact is a catch-all for all the small SwiftUI conveniences that I want to share amongst my various apps, but have nowhere else to go. It tends to grow alongside those apps, which makes sense for why it should turn up in this list.
Also deserving an honourable mention is Diligence, my about screen library for macOS and iOS.
Diligence is the first Swift package I’ve felt was polished and complete enough to publish2, so I added it to the Swift Package Index a few months ago.
Fun
Lunchbox Luggable
93433 insertions and 2 deletions across 11 commits
Finding myself back in Cambridge with a Makespace membership but with none of my projects around me, I decided it was finally time to build my own cyberdeck. The Lunchbox Luggable is meant to be less of a setpiece than most cyberdecks; a way to explore Linux and things outside the Apple ecosystem. It’s been a lot of fun so far, and I’ve really enjoyed using it to discover modern Gnome apps, and dive into the world of Uxn.
Elsewhere
23013 insertions and 34 deletions across 15 commits
My year started with COVID and Elsewhere, a Raspberry Pi livestream picture frame. I first wrote about Elsewhere back in 2018 when it used a tiny 2.8" Adafruit screen. It gives you a window onto somewhere else in the world and really came into its own during the pandemic when we were so starved for external input. It reached some form of completion in 2022 when I finished a aluminium and walnut version as a late Christmas gift for my folks. I’d still like to write up detailed instructions and maybe publish them to something like Hackaday but there’s only so much time in the world.
Looking Forwards
In 2023, I hope to bring a few more of these to a wider audience. Symbolic and Fileaway both feel like they’re close to App Store releases, as is Bookmarks, my Pinboard client. I intend to keep all my software open source but, longer term, I need to work out how to make money from some of them if I am to continue this level of development.