Sunday, 25 October 2026

[Flutter & Dart] I made a Nicolas Cage Movie Tracking App...Yes Really

Ever since I installed Letterboxd, I've added "watching films" to my list of hobbies. I have a fellow software engineer friend over at Dambusters who I now discuss terrible (and good) movies with and we're both fascinated by the one Nicolas Cage. I thought it would be fun to do a deep dive on his filmography and seeing as how I don't have any streaming services that I pay for, I started buying Nic Cage films in charity shops to watch them.

Letterboxd is a bit clunky when it comes to viewing how many movies you have left of a given actor, or marking if you own a film or how you watched it, so a week after the production release of my first app, I decided to make another app.

It uses the exact same colour scheme and helper functions I had already created and is basically Letterboxd, but for Nicolas Cage.


I made a free and offline Nicolas Cage Movie Tracking App

There is already a Nicolas Cage movie tracking app but it wants you to create an account and sells your data to third parties. Fuck that shit. Caged is offline, and completely free with no ads. I live in a town where data can be spotty and I need to be able to check what Nic Cage films I already own when in a charity shop. 

I'm also in the process of adding completely stupid games to it. There's already a quiz that I spent, quite frankly, an absurd amount of time on. It's basically a bunch of if statements but there's an entire spreadsheet where every movie is tagged and then each tag has a minimum of 4 questions. Then the quiz engine goes into 'gauntlet' mode where it will discard options until only 1 is left based on the tags. It means every movie needs to have a unique set of tags but the glory of unit tests means I don't need to individually check that.

Incredible use of free will don't you think?

Here is the main site for it:

Please think about giving it a download and rating 5 stars.......You can also follow me on letterboxd if you really want:

Tuesday, 20 October 2026

[Thoughts] 10 Years of LPTCP

I can't believe I missed it but the 22nd of June marked 10 years since I started this blog. I'm currently reading "How to Learn Anything in 20 Hours" and it talks about the oft misquoted fact that "it takes 10,000 hours to master a skill". Reflecting back over the past 10 years and the hours spent on C++, I don't consider myself a master programmer but I do consider myself to be 'pretty good'. 

I occasionally go back right to beginning and laugh at my old green text where I talk about being confused by bools and I still remember the anguish of the night I spent 6 hours solving how to print a number if a user inputted number was bigger or smaller than the last one. But I also remember the feeling of elation when it worked.

I don't post that much on here anymore, mainly because I'm now ten years older than when I started and my life is drastically different with a lot more responsibilities. But still, I tinker away, creating drafts that maybe will see the light of day years down the line. One such draft was my thoughts on LLMs and where the industry is going. Due to my job (and the fact that I very much need my job to pay my mortgage) and my crippling addiction to food and water, that will remain in the drafts section but I will say that it has given me a lot of opportunities to reflect on what exactly I want from my career and my programming journey.

I love learning. I love picking up new hobbies and I've learnt how to weaponise and hone my ADHD into something useful. My ability to hyperfocus on things until I feel I've "learnt enough" makes me feel kind of bad for people who can't do that.

In the age of 'VibeCoding', I now consider myself a 'TradCoder' (I write this with utmost irony). I look forward to finishing work and being able to write horrific code, and make terrible projects and games but it's the learning (and the knowledge/satisfaction that I did it myself). I've realised I want to wear 'all the hats'. I don't need to be a master on one specific thing, I just need to be good enough at everything.

I'm going to pick up Bjarne's latest version of Programming: Principles and Practice using C++ and do it all over again. Then maybe I'll get round to doing The C++ Programming Language. I've learnt that I'm a bit of a C++ purist (count me on the side of Bjarne during the current 'Civil War') and I'm not a fan of a lot of the new stuff they keep introducing in new standards. I mainly use PowerShell and Terraform at work these days as I venture into the Platform Engineering side of things so it's nice to be able to write C++ exactly the way I want to 'at home' and not hate writing it at work.

I think about making more videos as well but that's a time commitment I don't know I'm ready for. 10 years on though I know that I love writing C++ and I love making games. They don't have to be great, they don't even have to be good but I will never regret picking up that book all those years ago and forcing myself to learn programming at 25 and changing my career. I never thought I'd be able to buy a house but Bjarne's book, the degree and my internship helped me turn my life around. I don't have a solid plan on where I'm going but I know it will have something to do with C++ and video games.

Here's to the next 10 years and thank you to everyone who stops by (even the bots who trawl my site to teach LLM models on the contents).

Wednesday, 12 August 2026

[Flutter & Dart] I Released an App on the Google Play Store!

So even though I work at a games studio, I don't consider myself to have actually released a 'professional' program yet as I joined Rare in 2019 and Sea of Thieves was released in 2018. Even though my name is in the credits, I don't really count it as I wasn't there for the official launch, nor did I contribute any code to initial codebase.

I did upload a terrible web 'game' to itch a few years ago but I don't count that either.

[Background]
At the tail end of 2025, I was in and out of doctor appointments and had an MRI and a colonoscopy due to high levels of inflammation in my bowels. I was dreading the worse case scenario over the months. My older brother was diagnosed with Crohn's disease when he was 18 (he's now 38), and doctors diagnosed me with it when I was 21 along with Coeliac disease when I started displaying similar symptoms. 

For the past 14 years I have been avoiding gluten like the plague as well as the same foods that trigger my brother (that includes high fibre foods). I have been fortunate that my symptoms have not been as aggressive as my brothers. Statistics say people with Crohn's double their risk of bowel cancer every 10 years.

The results of the MRI and colonoscopy came back with; all clear. No Crohn's and the consultant even said I have 'great looking bowels'. I was extremely confused as Crohn's is incurable. They never actually did any tests when I was 21, doctors at the time just said it was Crohn's because you're 70% more likely to develop it if you have a direct relative with it. Also, Coeliac disease heavily imitates Crohn's...

I was 'demoted' to IBS. Either way, bowel cancer is no joke. My colonoscopy was on the 29th December 2025 and I vowed that one of my new years resolutions would be to eat the NHS recommended 30g of fibre a day as I did not want to have another colonoscopy in the future.

[The App]
Enter MacroTracker9000. The name started off as a joke (and has now been relegated to the debug name of the app), but I wanted a macro tracker that I could control that didn't require an account or network connectivity. I wanted to be able to edit it and add features as I went along. I've tried using the food tracking in the FitBit app and hated it as it's very 'American' focused, as is MyFitnessPal. 

I chose Flutter and Dart as I hate Java. Flutter's state system is really jank and disgusting but at least Dart is syntactically similar to C++. As much as I'm not a fan of the languages, they are super fast to iterate heavy UI apps in and you get cross-platform compilation out of the box.

I've been using Android Studio to make the app as I kind of hate Visual Studio Code and Android Studio is so much better than it used to be. I was using it during my degree to make an android app in Java and it was so clunky and difficult to use. It's not Visual Studio but I'll take it.

[Google Play]
What a nightmare. I originally tried releasing back in March and setting up a play developer account is a task and a half. I then got to uploading to the internal testing track where I saw the apps store front page for the first time and noticed that it was displaying my full legal name and legal address in the "about the developer" section. Google says they do this to prevent fraud if you are acting as a sole trader, even though there's no UK requirement for them to do this but they just do it across the board. I was not happy about this and tried to change my address using a legal document with a different address on it but Google just sent me round 5 different departments collecting support ID's. I eventually ended up with a guy called 'Alvin' who said he was 'liaising with a specialist department' but still heard nothing after 2 months, even though I was chasing Alvin up every week for an update.

I eventually ended up paying £200 to create a limited company, a private email address, get a new sim card for my old phone, paid a business in London to use their address and set up a business banking account with Natwest. The upside to all this is that business Google Play developer accounts don't need to do a 2 week testing period with 12 testers when launching a new app for the first time and I just released it when I was ready.

[Release]
I released it on a Sunday afternoon. Every post I had read said it would take Google anywhere up to 2 weeks to get round to reviewing a new app so I sent it for review thinking I'd hear something in a couple of weeks, it then went live 10 minutes later. It was kind of anti-climactic. 

There's still loads of features I've got on my Trello board and I tend to spend a weekend a month now working on it. I'd really like the ability to create more trackers inside the app like daily push-ups or habit tracking like 30 minutes of writing. With how Flutter's nesting of widgets work, I've already got things like "Daily summary card" and "Calendar View" as separate reusable widgets, so it shouldn't be difficult to create a page where users can select what widgets they want displayed on the page and where and what they should contain. 

Everything in the app exports to a plain JSON file so writing out new custom information is incredibly easy.

Its now also got me thinking about making other apps, mainly a clone of a game I hate called Township. I am somewhat addicted to it but I also loathe it with every fibre of being and curse the developers everytime I lose my super rainbow ball after I've just got it back.

It's times like these I really love being a developer. I can just make the shit I want to use and then not worry about the company pushing updates that changes the thing I loved about the app.

[TrackWell]
You can find it on the Google Play Store here: 

It's free to track food, water and recipes. It does have a 'premium' version that's £3.49 that includes some other things but it's a one-off payment that will include any other premium updates. I tried my best to make this app completely offline with zero permissions requested. Due to the premium billing, it's ended up with a permission on network connectivity (as it needs to connect to the internet to check your play account to see if you've purchased premium) but it silently fails if there's no internet and the app will continue to work just fine.

You don't need an account (you can't even create one anyway) and everything is stored locally on the phone. You back up the data by exporting it to a JSON file. I tend to save mine to OneDrive. Until you export it, it's stored in a binary format that only the app can access. Exporting simply creates a zip folder of JSON files and then hands that over to the OS and lets the OS handle saving it somewhere so the app itself doesn't need a permission on accessing your memory.

My favourite features are the 5 a day tracker and the weekly/monthly overviews for all my macros. If I've overeaten one week, it allows me to course correct over the month and even myself back out. I've also never been below 20g of fibre a day this year. I never realised how difficult it is to hit 30g of fibre and 5 a day and 100g of protein and stay below 20g of saturated fat. It's genuinely changed how I view food and what I decide to eat.

I'm pretty proud that I managed to stick with something and get it officially released. I also own my own company now, so that's cool I guess.