Projects

Side projects I build and maintain, mostly to learn something, or because the tool I wanted did not exist yet. A few of these have their own case studies with more detail on the problem, the approach, and the outcome.

Whisky Collection API

  • Rust
  • Axum
  • PostgreSQL

A REST API for tracking whisky collections and tasting notes, built with Rust and Axum. It lives in this monorepo with its own toolchain, test harness, and migration-driven PostgreSQL schema. I use it to write real backend Rust, including routing, typed extractors, and proper error handling, instead of only reading about it. Rust's type system forces decisions about the data shape up front. That is uncomfortable at first. After that, the rest of the code is much harder to get wrong.

tools.joostvanderlaan.nl

  • HTML
  • Python
  • uv
  • Playwright

A growing collection of 180+ standalone HTML tools. Each one is a single page that does one narrow job, with no framework, no bundler, and no client-side build step. A Python/uv script handles the build, and Playwright runs the tests. Keeping a tool boring is usually the fastest way to end up with something I actually keep using.

Kids Tools

  • Product design
  • Zola
  • Affirmation cards

A product studio for children's affirmation cards. It holds brand assets, design tokens, generation workflows, and a public site. The stack and commerce platform are still being chosen, so right now it is a design-and-content workbench, and not yet a shipped product. I keep audience, tone, and visual identity in version control, the same way as the code. That keeps the creative side honest.

Home Assistant infra

  • Home Assistant
  • YAML
  • Automation

Declarative configuration for my smart-home setup. Automations, scenes, scripts, and blueprints are versioned in this monorepo like any other codebase. Treating that config with the same review and change history as application code catches mistakes long before they trip a light switch at 2 AM.

This website

  • Zola
  • Tailwind CSS
  • GitHub Actions

joostvanderlaan.nl itself. A Zola static site with Tailwind CSS on top, deployed via GitHub Actions from this monorepo. It includes a mental-models reference, a merge queue with auto-revert, and a shared agent harness for AI-assisted development. A personal site forces me to finish small things, from content to CSS to CI, instead of leaving them half-done.