Blog
Thoughts on data, systems, and technical projects.
Latest posts
28 July 2026
Single-Page Research With Vanilla JS
Fetching reports, not frameworks
23 July 2026
Website 3.0
Restructuring from portfolio to research + projects platform.
15 July 2026
Building a Personal Cloud
Not many people can say they set up their own cloud service
11 July 2026
I Built a Budget App
Terminal-native budgeting with Obsidian vault integration
All posts
-
28 JulSingle-Page Research With Vanilla JS
Fetching reports, not frameworks
-
23 JulWebsite 3.0
Restructuring from portfolio to research + projects platform.
-
15 JulBuilding a Personal Cloud
Not many people can say they set up their own cloud service
-
11 JulI Built a Budget App
Terminal-native budgeting with Obsidian vault integration
-
8 JulUsing Google Analytics to Shape Future Content & Business Ideas
Letting data guide my writing and business direction
-
25 JunLearning Barriers with Investing Analysis
What I learned pulling five years of BTC, gold and S&P 500 data into Excel
-
22 JunExcel Mini Series Project
A mini project series exploring data cleaning, analysis, and visualisation using Microsoft Excel
-
14 JunClean Learning with AI
My rules for self-teaching with LLMs without letting them think for me
-
5 JunFixing Development Environments on NixOS
Reproducible dependencies without the usual setup plan
-
3 JunConditional Aggregation in SQL
A weekend of struggling with CASE statements inside aggregate functions, and what finally made it click
-
1 JunSecond Data Project
Using SQL and conditional aggregation to explore 555k CFPB consumer complaints
-
28 MayWhy I Switched from uv to nix-shell for Python on NixOS
Per-project Nix environments instead of uv virtualenvs
-
27 MayHow I Use the Zettelkasten Method for Modern Note-Taking
Connecting thoughts, building a second brain
-
25 MayMy Paranoia About Using LLMs
Friction is how you learn, AI removes it
-
21 MayMy First Data Project
Building an ecommerce sales analysis from scratch with Python and Pandas
-
18 MayData Analysis Inside Neovim
Molten.nvim, Jupyter kernels and reproducible environments
-
17 MayWhy I Moved to NixOS
My experience moving from Windows to a declarative Linux system
-
16 MayWebsite & Career 2.0
A quick update