Tools I use

My desk setup, everyday Mac apps, development tools, and creative kit — with notes on how I use them.

The hardware, software, and everyday tools I use to build projects, organise ideas, and make things. This is a living record of my setup, with a few things I’ve made myself along the way.

Last updated: September 2026.

At my desk

MacBook Pro — M1 Pro and M4 Pro

I still use my M1 Pro MacBook Pro, and I now also have a MacBook Pro with M4 Pro. Both are part of my current setup.

Apple keyboard and Logitech MX Master 3S

An Apple keyboard and MX Master 3S are the keyboard and mouse in my main desk setup.

Two monitors and a DIY riser

I use an electriQ monitor alongside a smaller 19-inch monitor. The monitor riser is something I made myself.

Everyday tools

Raycast

One of the tools I use most on my Mac. Clipboard history, built-in window management, and Quicklinks help me move quickly between tasks.

Shottr

Still my tool for taking screenshots.

Hidden Bar

Part of my everyday Mac setup for keeping the menu bar organised.

Mole

I use Mole to help keep my Mac clean and remove unnecessary bloat.

Vivaldi

The browser I continue to use day to day.

Amplenote

Where I keep notes and collect ideas.

Cal.com

My scheduling tool.

Writing code and working together

Visual Studio Code and IntelliJ

Both are still part of my development setup. IntelliJ is the JetBrains IDE I currently use.

DBeaver

I switched from DataGrip to DBeaver for database work because DataGrip is a paid tool.

cmux and Oh My Zsh

cmux is my terminal of choice. I use it with Oh My Zsh to customise the shell, including its themes.

GitHub Desktop and Slack

I use GitHub Desktop to speed up my Git workflow, and Slack for communication.

Hosting and running projects

Coolify

I use Coolify heavily to spin up services and manage deployments for code I’m developing. It’s a central part of how I run my projects.

Hetzner

My current self-hosted setup runs on one Hetzner machine.

Ghost

The publishing platform behind this website and blog.

Uptime Kuma

I use it to monitor my sites and keep an eye on their availability.

Data and automation

These are the tools I use for personal projects, from trying out a data flow to storing and analysing the results.

Apache NiFi

I use NiFi to prototype data flows.

ClickHouse

Where I store analytical data for personal projects.

DuckDB

A tool I reach for when I need to analyse data quickly.

PostgreSQL

Also part of my personal-project toolkit. PostgreSQL is a general-purpose relational database; ClickHouse has a different focus on analytical workloads.

n8n

I use n8n to build automations for my personal projects.

Making and documenting

A pocket camera and CapCut

I bought a DJI Osmo Pocket 4 before a family trip to Scotland to record little moments. I brought the clips into CapCut and stitched them together into a home video, without much editing.

Read: Making a home video again →

A typewriter and Dirty Little Zine

For a gift to a friend, we used Dirty Little Zine to lay out old group photos and wrote a separate letter on a typewriter. Choosing better paper was part of making the gift feel personal.

Read: A small zine and a typewritten letter →

Tools I’ve used, but aren’t in active rotation

Cyberduck and Postman: I haven’t used either recently, although I still consider them useful tools.

NocoDB and Directus: I still see value in them, but I don’t currently have a need for either.

DataGrip, PyCharm, and Rider: These were in my earlier tools list. I’ve moved to DBeaver for database work and haven’t used PyCharm or Rider recently.

What I've Built

Lakehouse Data Platform Rebuild

Elantil

Leading the ground-up rebuild of a B2B iGaming data platform — Kafka streaming into AWS Glue, Apache Iceberg tables, Athena, and dbt Bronze/Silver/Gold layers. Shifted decision-making from gut-feel to evidence-based, presented directly to C-level and key clients.

59.5% higher throughput vs original platform 10.4% faster execution vs original platform

Data Migration Framework

Gaming Innovation Group (GiG)

Designed and delivered a migration solution that enabled GiG to onboard large, established operators with existing customer bases. A representative run migrated 20,000+ customer records in under 30 minutes.

20,000+ records < 30 min migration
Read the case study → Referenced in GiG's Q1 2024 earnings call →

Broker CRM — Real-Time Pipeline

Gaming Innovation Group (GiG)

Built a real-time CRM data pipeline delivering live player events to platforms like Symplify, enabling multiple operator clients to trigger personalised actions based on real-time behaviour.

300k events/hour multiple operator clients
Read the case study →

6TB Data Warehouse Migration

SpinCity Solutions

Delivered analytical access to 6+ TB of historical data in under three months using S3 and self-hosted ClickHouse. Complex historical queries completed in under 20 minutes.

6+ TB migrated < 20 min query time
Read the case study →

Where I've Worked

Elantil

Leading the data platform rebuild · 2024–Present

Leading a lakehouse rebuild using open table formats, streaming ingestion, and transformations for analytical use.

SpinCity Solutions

Data Architect · 2024

Built a historical analytics platform with S3 and self-hosted ClickHouse, separating analytical workloads from production databases.

Gaming Innovation Group

Data Engineer → Senior · 2019–2024

Progressed from Data Engineer in Test to Senior Data Engineer, working on player migrations and shared real-time data products.

Bit8

QA Engineer · 2018–2019

First iGaming role. Built the platform's test automation foundation.

Verticals I've Worked Across

Casino Sports Betting Lottery Crypto Gambling Affiliate Marketing Player Acquisition B2B Platform B2C Operator

What I Build With

Streaming & ingestion

Kafka · Apache NiFi

Storage & query

Apache Iceberg · Amazon S3 · Athena

Transformation

dbt · AWS Glue

Layering

Bronze / Silver / Gold lakehouse

Let’s talk about your next project.

Need help with a data platform, pipeline, or migration? Get in touch.