Building Finance System

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
Andrew Townsend
Andrew Townsend
6 min read
Building Finance System

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
Andrew Townsend
Andrew Townsend
7 min read
Infrastructure, Ansible, AWS, Home Lab

Verifying Your GitHub Commits with GPG or SSH

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
Andrew Townsend
Andrew Townsend
3 min read
Infrastructure, Ansible, AWS, Home Lab

Managing Multiple Git SSH Keys by Directory

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
Andrew Townsend
Andrew Townsend
2 min read
Infrastructure, Ansible, AWS, Home Lab

Managing Multiple Git Authors by Directory

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
Andrew Townsend
Andrew Townsend
3 min read
Home Automation, ESPHome

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
Andrew Townsend
Andrew Townsend
2 min read
Home Automation, ESPHome

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
Andrew Townsend
Andrew Townsend
4 min read
Home Automation

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
Andrew Townsend
Andrew Townsend
4 min read
Home Automation

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
Andrew Townsend
Andrew Townsend
3 min read
Home Lab, Infrastructure

Building a Home Lab Dashboard with Homer

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
Andrew Townsend
Andrew Townsend
4 min read
Home Lab, Infrastructure

Monitoring Services with Uptime Kuma

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-
Andrew Townsend
Andrew Townsend
4 min read
AWS, Infrastructure, Home Lab

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
Andrew Townsend
Andrew Townsend
3 min read