Software engineer / photographer

Merlijn
Tishauser

Systems, side projects, and the view beyond the screen.

I make complex systems easier to see, use, and trust.

I build software and the platforms it runs on. Away from the keyboard, I make photographs.

Quality is simplicity. And simplicity is quality.

That is the standard I hold myself to: clarity over clutter, substance over spectacle. An idea only counts once it is running as a system that is resilient, measurable and useful.

I keep learning — deliberately, continuously — because the work never stops changing, and neither should the person doing it.

Interactive index / local-first

Ask the site directly.

Take a quick route through the work, photography, and notes, or ask an open question about my background.

site-guide@portfolio ~ Public routes + AI
visitor@portfolio:~$ ./open-site-guide.sh
Local site guide ready. Routes work without the AI; open questions use my resume summary and public site context.
Choose a route below, type /help, or ask about my background.

Built out of curiosity

Small obsessions.
Working software.

Two projects, two different kinds of connections.

01.A / Home Assistant / open source / HACS default

A network you can read.

Every device on a tile,
every link a line you can follow.

UniFi Network Map turns topology data into an isometric picture of what connects to what, inside the Home Assistant dashboard. Below: the same renderer, drawing a fictional home.

Fictional network 10 devices / 09 links
VLAN 1 VLAN 20 VLAN 1 VLAN 1 VLAN 20 VLAN 1 VLAN 1 VLAN 20 VLAN 1 VLAN 20 VLAN 1 VLAN 20 Attic AP Studio switch: Port 2... Attic AP Thermostat Thermostat Gateway Gateway Laptop Laptop Garden AP Studio switch: Port 3... Garden AP Studio switch Gateway: Port 9 (Stud... local: Port 1 (Gateway) Studio switch Phone Phone Printer Studio switch: Port 6 Printer Home Assistant Studio switch: Port 4 Home Assistant Storage Studio switch: Port 5 Storage

Infrastructure

Clients

Drawn by the same renderer as the Home Assistant card (unifi-network-maps 2.3.2) from a fictional topology. An interactive illustration, not a live dashboard: no real devices or telemetry.

The problem

A list of devices tells you what is there. It takes a map to see how it fits together, and which cable a problem is on.

The decision

Render the topology as an interactive isometric SVG inside the dashboard, with VLAN colours on the links and device details one selection away.

01.B / A personal reflection project

Traumatrees

Room for the stories
between generations.

Explore family connections, life events, and the patterns that run through them. At your own pace, with your story kept private.

Screenshot of the public demo, with a fictional family. Scroll sideways on smaller screens, or open the live demo to pan, zoom, and explore. No account needed.

Space for reflection

A family tree can hold more than names and dates. Traumatrees makes room for relationships, turning points, and patterns across generations.

Private by design

Sensitive entries are encrypted in your browser before reaching the server. The technology serves a simple boundary: your reflections stay yours.

A tool for personal reflection, not therapy.

Through the lens

Away from the keyboard.

Individual photographs and two series, each with its own way of looking.

Explore the photography →

Experiments / open source / odd corners

More from the workbench.

Useful tools and ongoing experiments from the less polished edge of the bench.

Pi-hole SQLite exporter

An exporter for Pi-hole metrics in Prometheus format with a lightweight footprint and clean labels.


Latest release Latest GitHub tag

UniFi Topology

A Python library for generating UniFi network topology maps with clean visuals for ports, devices, and client connections.


Latest release Latest GitHub tag

Notes from the work / published deliberately

Field notes.

Short observations from building software, mapping systems, and keeping the sharp edges visible.

Current edition 003

A topology map should answer a question

A useful network map is not an inventory with lines. It gives structure first, then reveals the detail someone came to find.

Read field note

Tools change / principles travel

Tech lineage.

Four decades of platforms, languages, wrong turns, and useful obsessions.

1983—1992

Origins

1983 ZX Spectrum

The first computer I was allowed to play with.

1984 Atari ST

My dad bought this computer, and I was a kid with a newfound interest in technology and creativity.

1985 BASIC

Copying 500 lines of code from a book to learn the language.

1986 Logo

For loops for the win: move that turtle around.

1992 Mac Performa

The first Mac in our family, System 7 as default.

1996—2008

Open systems

1996 Linux

I bought an IBM PC to annoy my dad, but installed Red Hat Linux 4.2 after three weeks, because I hated Windows.

1997 PHP

Babysteps in adding features to a website, MySQL as the database.

2004 CS Classes

Formal education in computer science, learning algorithms and data structures.

2008 Agile

Standups with myself, pair programming with JP the Goat.

2008 Python

First language I really enjoyed, learning object-oriented programming.

2012—2020

Cloud shift

2012 AWS

After running servers co-located, someone else was on call for failing disks.

2014 Docker

Oh my Containers... so many containers, so little time.

2015 Java

Not touched since computer science classes, but CQRS and event-driven architectures are the bomb with Java.

2017 K8s

Inception: have Jenkins deploy K8s with Jenkins on it to deploy applications.

2019 Serverless

Who needs containers? Serverless computing for scalability and cost efficiency.

2020 Azure Landing Zones

Automate all the things!

2023—2026

Building now

2023 React

Transforming a legacy spaghetti codebase into a modern React application: full hands-on development again.

2024 AI Assisted Dev

Babysteps with LLMs and accelerated development workflows.

2025 Home Assistant

Hue, Zigbee and UniFi: the house finally does what it is told.

2026 Traumatrees

Zero-knowledge encryption, 100% commitment.

2026 Homelab

A Homelab running Proxmox, Traefik and rather too many LXCs. Turns out I missed being the one on call for failing disks.

2026 Agentic Dev

Past the babysteps: agents that read the repo, write the tests and ship. Reviewing their work carefully is the actual skill.

Select a milestone for the story behind it.

Mostly harmless / one improbably strong drink

Gargle
What?!

The Pan Galactic Gargle Blaster was invented by Zaphod Beeblebrox, a major character in Douglas Adams' novel The Hitchhiker's Guide to the Galaxy.

The effect is like having your brains smashed out by a slice of lemon, wrapped 'round a large gold brick.

Read the recipe
Illustrated Pan-Galactic Gargle-Blaster can label with recipe notes
Official drink for the hacker at large.