Personal finance aggregator: Developer access and app setup - Part 2
~10 min read
With TrueLayer picked as the data provider (see the previous post), the next step was the unglamorous part every API integration starts with: get an account, register an application, get credentials, and figure out exactly what permissions to ask for. This post is that setup, written down properly so I don't have to reconstruct it from memory the next time I need to do it again - for a second project, or when the production credentials need rotating.
Signing up and creating an ap
Personal finance aggregator: Choosing a data provider: TrueLayer vs Enable Banking - Part 1
~10 min read
I wanted one place to see everything I was spending, across six accounts at five banks that I actually use day-to-day: a Nationwide current account, a Nationwide credit card, Monzo, Tesco Bank, Virgin Money, and an M&S Bank credit card. None of these banks talk to each other, none of them export in a format the others understand, and I was tired of opening five apps to answer "how much did I actually spend this month." So: a personal finance aggregator. Pull everything into one SQL
If you’ve been following along with the previous posts on managing multiple Git identities and multiple SSH keys, this next step adds a nice layer of polish — verified commits.
You’ve probably noticed some commits on GitHub have a little “Verified” badge next to them.
That badge tells others (and your future self) that GitHub has confirmed the commit really came from you — not someone impersonating your name and email.
Let’s walk through how to set up commit signing for your personal and work
In the last post, we configured Git to automatically use different user names and emails depending on the project directory.
That solved one half of the problem.
But if you use multiple Git accounts — say, one for work, one for personal projects — you’ll also need to make sure Git connects using the right SSH key for each.
Let’s fix that next.
The Problem
By default, Git uses your system-wide SSH key (typically ~/.ssh/id_rsa or ~/.ssh/id_ed25519).
If both your personal and work GitHub accou
If you contribute to both personal and work repositories, you’ve probably run into this:
You commit to a personal project — and realise your work email is all over it.
Or worse, you commit to a company repo using your personal identity.
Git only tracks one author configuration per system by default, but with a little setup, you can make Git automatically choose the right name and email based on the directory you’re working in.
Let’s walk through how to do it cleanly.
🧩 The Problem
By def
Building a Laser Trip Sensor with a Photoelectric Sensor and ESPHome
Presence detection is a cornerstone of home automation. Whether you want lights that automatically switch on when someone walks into a room, or smarter security alerts, presence sensors give your automations real-world context.
While PIR (motion) sensors are common, another interesting option is the photoelectric sensor. These sensors detect when an object breaks a light beam, making them great for detecting someone passing through a doorway, entering a hallway, or triggering an event when some
Building a 4-Zone Irrigation Controller with ESPHome - Part 1
Automating irrigation is one of those home automation projects that’s both practical and fun.
Instead of manually turning sprinklers or valves on and off, you can control watering schedules through your smart home — or even trigger watering based on weather or soil moisture sensors.
In this series, I’ll walk through building a 4-zone irrigation controller using ESPHome, some off-the-shelf components, and Home Assistant integration.
Series Overview
As I publish parts of this series I will up
Tracking Daily Power Usage and Cost with Shelly and Home Assistant - Part 2
One of the most rewarding parts of home automation is getting insights into how your home uses energy — and how much it’s costing you. If you’ve ever wondered what your washing machine, PC, or server rack really costs to run, you can easily find out using Shelly smart devices and Home Assistant.
In this post, we’ll look at how to set up Shelly devices to monitor power usage, track daily totals with Home Assistant’s Utility Meter, and calculate energy costs automatically.
Tutorial parts breakd
Tracking Daily Power Usage with Shelly and Home Assistant - Part 1
One of the best parts of home automation is getting real data about how your home works — not just controlling things, but understanding them. If you’ve ever wondered how much energy your appliances are actually using, or wanted to see your daily consumption trends, you can do that easily with Shelly smart devices and Home Assistant.
In this post, I’ll walk through how to integrate Shelly devices with Home Assistant and use them to track and visualise your daily power usage.
Tutorial parts br
If you’ve been running a home lab for a while, you’ve probably collected a fair number of services — things like Home Assistant, Pi-hole, Proxmox, Uptime Kuma, Grafana, media servers, and more. The problem is, remembering all those URLs and ports gets messy fast.
That’s where Homer comes in: a simple, customizable static dashboard you can host anywhere to keep your home lab neat and organized.
What is Homer?
Homer is a lightweight homepage for your self-hosted services. It’s just a single-pa
If you run self-hosted apps, home lab services, or production infrastructure, you know the feeling: is it just me, or is the service down? Instead of waiting for someone to complain (or discovering it yourself when you try to use it), it’s better to have a monitoring tool that tells you when things break — and ideally before your users notice.
That’s where Uptime Kuma comes in.
What is Uptime Kuma?
Uptime Kuma is a self-hosted, open-source status monitoring tool. Think of it as a free, self-
Setting Up Ghost with S3 Storage Using ghost-storage-adapter-s3: Part 2
If you haven't read Part 1 of this series it can be found here Setting Up Ghost with S3 Storage Using ghost-storage-adapter-s3: Part 1
Amazon CloudFront is a powerful CDN for speeding up content delivery. By default, when you create a distribution, AWS gives you a long, autogenerated domain like:
d1234abcdef.cloudfront.net
That works fine, but it’s not user-friendly. For production, you’ll usually want to use your own domain — for example, content.yoursite.com — so your assets are delivered u