Codakuma

2022 in review

18 Dec 2022

For the last two years I’ve written something about how my apps developed and performed throughout the year, along with my goals for the next year (see 2021 and 2020).

In keeping with the tradition, here’s my 2022 in review.

Scorecard

At the end of 2021, I set myself five goals for 2022. Here’s how I did on each of them.

Status: Missed ❌

I tried, but unfortunately I didn’t make the cut. At WWDC Apple advised me to fill in the form at appstore.com/promote every time I ship something notable. I did do this a few times, but I think I could be doing more.

Get Personal Best into another tech blog

Status: Achieved ✅

Smashed it. Because of my Lock Screen widgets, I earned some coverage around the time of iOS 16’s launch in TechCrunch, 9to5mac, CNET, as well as some other websites.

All of the above are listicles featuring apps that have Lock Screen widgets. I’d stil love to eventually get a full article just about a new Personal Best feature, but that’s a task for another day.

Find a healthy balance between my day job and Personal Best.

Status: In progress ⏳

For most of 2022 I didn’t make meaningful progress on this. My day job as an engineering manager at a startup had me feeling like I didn’t have enough energy to work on my apps outside of work.

However, recently I’ve made some changes to my work situation which are beginning to help.

Firstly, I’ve transitioned out of management and I’m now back to being a software engineer. I realised that while there were a lot of aspects of management I really enjoyed – like helping to drive best practice and helping others to grow – I’m happier focusing on technical problems rather than people ones.

Secondly, I’ve switched to working ‘compressed hours’, which means I still work 40 hours a week, but over four days instead of five. Instead of working eight hours each day, I now work ten hours. This means that on Tuesday to Friday I have long days, but it gives me a whole extra day off each week to run errands and work on my apps. It’s only been two weeks but it’s already made a huge improvement to my mental health and productivity.

In both cases my employer was very understanding about my situation and needs and I’m really happy that we were able to find a solution that worked for us both.

Make Personal Best really, really solid

Status: In progress ⏳

There were a few places that Personal Best felt a bit janky, with some dropped frames or bugs. While no app will ever be bug free, I think I’ve made some good progress on this. Of course, I still have a huge list of improvements I want to make, but realistically I think that’ll always be the case.

Deliver at least five major new features or improvements

Status: Achieved ✅

I’m very happy with the amount of things I shipped this year. I’ll go into more detail about them below, but suffice to say I think I managed to deliver a lot of new things.

Delivery

This year I shipped a lot of new stuff.

A brand-new app

In January I was struck with inspiration with a new app idea, so I put Personal Best to one side for a few weeks and worked on that.

I’m a huge Taylor Swift fan, and recently she’s been re-recording her first six albums in order to own her masters. I wanted a way to quickly replace the old versions of her songs with the re-recorded ones in my Spotify playlists, and rather than spend fifteen minutes doing that like a normal person, I decided to spend five weeks’ worth of evenings and weekends making an app to do it. On February 13th I launched Taylor’s Version.

I made sure to include plenty of polish, so as well as replacing songs I added things like a quiz to do while you wait for your playlists to load, lots of custom app icons (one for each album), and a few extra features like a button to save a new playlist of Taylor Swift songs.

Screenshots of Taylor's Version

I knew that this was quite a niche idea for an app so I wasn’t expecting it to take the world by storm, but to be honest I had hoped it would garner some press coverage and maybe even a little virality. While it’s niche, it felt perfectly placed for a few “Look at this silly app somebody made” articles. I think this does tie in to me continuing to suck at marketing, which is something I still need to improve at. A lot. I emailed and tweeted a lot of journalists, posted it on various subreddits, sent it to Taylor Swift fan sites, but unfortunately it never went anywhere.

Even with the app not doing that well, I don’t regret the time I put into it. I’m proud of the level of polish I was able to achieve, and I gained experience with a few things I haven’t yet done for Personal Best, like iPad support, working with external APIs, and sending remote push notifications using Firebase.

Having said that, as I have limited time I’ve decided not to add any new features to Taylor’s Version, because realistically I know it’s unlikely to get more downloads than it already has. I still 100% support it, but it’s now in a state that I consider complete. I did want to add support for Apple Music, but limitations in Apple Music’s API mean that third-party apps can’t edit playlists, only make new ones. I could work around this, and I may revisit it in the future, but for now I’ve decided not to pursue it.

New features for Personal Best

  • Subscriptions: Prior to this year, Personal Best had a single $5 in-app purchase to unlock extra features not available in the free version, named Personal Best Pro. I’m trying to grow my apps to provide a stable second income, and for that I need recurring revenue. So, over the summer I moved to a subscription model with monthly, annual, and lifetime options. All existing owners of Personal Best Pro were migrated to a lifetime subscription.
  • Redesigned onboarding: I redesigned the onboarding flow to look a lot nicer. Previously it was very basic and frankly it had a home-made look. Now it looks a lot more professional.
  • Heart rate zones: You can now see heart rate zones for your workout, with an interactive graph. I used iOS 16’s Swift Charts API for this, which made things really easy to build.
  • Lock Screen widgets: I was ready on day one of iOS 16’s launch with a suite of Lock Screen widgets. This helped me get a lot of press coverage and downloads.
  • Export workouts: This isn’t a feature I’ve advertised much publicly, but Personal Best now allows people to export their workouts in JSON format. I built this so that I can get workouts out of my phone and onto the iOS simulator, which makes testing much faster. It also means if anybody is having issues with a workout not looking how they expect, they can send it to me and I’ll be able load it into a simulator and try to reproduce the bug.
  • Other stuff: I also shipped dozens of small improvements, like refreshed colours and icons, new workout types, a pure black toggle for widgets,new fonts when sharing workouts, and loads more

Screenshots from Personal Best

Numbers

TL;DR Downloads are down but sales are stable and active users are up.

Downloads

Personal Best’s downloads decreased this year by quite a lot.

In 2022 Personal Best was downloaded 2,160 times, compared to 14,200* in 2021 and 7,000 in 2020.

*10,570 downloads came from listing my app in Apps Gone Free, which gave me a lot of downloads but they didn’t lead to any increase in users or sales. Excluding these gives me 3,630 downloads.

Taylor’s Version was downloaded 2,490 times in 2022. Even though Taylor’s Version got more downloads than Personal Best, the sales tell a different story.

Visualisation of download numbers

Sales

Taylor’s Version has a one-time $3 in-app purchase to unlock some functionality. It sold 57 units this year, leading to $173 in sales.

Personal Best sold 114 units of lifetime purchases ($5, raised partway through the year to $15), leading to $1,100 in sales. The new monthly and annual subscriptions made $234, and I also made $16 from the tip jar. That puts my annual totals at around $1,500. Once Apple takes their cut, along with the various digital service taxes from government that they pass on to app developers, I’m looking at about $1,200.

In previous years I had no recurring revenue, but thanks to my new subscriptions I currently have roughly $250 annual recurring revenue.

My revenue in 2021 was also around $1,500, so while growth would have been even better, I’m pleased at being able to maintain my current revenue. Of course, I’d like to grow this in 2023.

Visualisation of sales

Users

Thanks to TelemetryDeck I have privacy-first analytics in my apps.

In December 2021 Personal Best had around 1,300 monthly active users. In December 2022, it’s now around 2,000 monthly active users, a nice increase year on year.

Taylor’s Version isn’t the sort of app people come back to day after day, it’s more of a ‘one and done’ app, so I don’t look at my active user numbers there.

Visualisation of Personal Best's monthly active users

Goals for 2023

I have a few goals for 2023.

  • Double my recurring revenue
  • There’s a big new feature I’d like to add to Personal Best which I think can transform it into the type of app people come back to daily. It’ll take a long time to build, but I want to finally get around to it.
  • Make a new app (I have an idea for something which I’ve been meaning to build for ages. I’d like to at least get a first version of it out)

I’ve deliberately taken on fewer goals than last year, because I want to focus primarily on increasing my revenue. At the end of the day, if I want to turn my apps into a sustainable income stream then the only thing that matters is revenue. Doubling it will take me to about $500 annually, which is still very modest, but would be a great amount of growth.

Here’s to 2023.