Notes on building for the web.

Skip the colour chips
  1. 2026
    1. A software factory to build the world of Pocket Switzerland
    2. Four Claude Code mods: GitHub CI, Lagoon builds, local ports and the session at a glance
    3. Pocket Switzerland: a paper country in 3D, explored by hot-air balloon
  2. 2025
    1. Semantic search with Drupal and Typesense
    2. Drupal faceted search with Typesense and InstantSearch
  3. 2023
    1. The Hitchhiker's Guide to the Planet Drupal - 2023 edition
    2. Gutenberg with Drupal part 1: Blocks attribute decorator
    3. Moving from Brussels to Lausanne and other Drupal stories
    4. Visual regression testing for Drupal migrations with Playwright
    5. The state of GraphQL with Drupal 10 (part 1)
  4. 2022
    1. A minimal and fast Drupal environment (part 2)
    2. Patch a Drupal project
  5. 2021
    1. Drupal, Gatsby, Next and friends
    2. A minimal Drupal 9 local development environment (part 1)
  6. 2020
    1. Synonyms with Search API
    2. Drupal Earth, lift-off 🚀
  7. 2019
    1. Extract tokens from a Drupal database dump
    2. Get local Instagram api credentials with ngrok
    3. Migrate from a CSV to content entities with Paragraphs
    4. Reuse readme.md in hook_help() with Parsedown
    5. FOSDEM 2019, PHP and JS random picks
  8. 2018
    1. Cleaning up Lando containers
    2. Install CiviCRM 5 with Drupal 8 using Lando
    3. Decoupled Days 2018 documentation
    4. Drupal 8 progressive decoupling with React
    5. Drupal 7 to Drupal 8 migration with configuration entities
    6. First dev release of the Production Checklist module
    7. Lando configuration for Search API Solr with the Umami profile
    8. Drupal and Docker the easy way with Lando
    9. Install Solr 7 for Drupal 8 Search API on Ubuntu 16.04
    10. React and Drupal 8 with JSON API 3/3
    11. Migrate a Drupal site with CiviCRM from a custom LAMP environment to Virtualmin (2/2)
    12. Migrate a Drupal site with CiviCRM from a custom LAMP environment to Virtualmin (1/2)
  9. 2017
    1. Taking care, software craftsmanship
    2. Drupal 8, React, Vue, JSON API and ES6 learning resources
    3. Drupal 8 with Docker CE and Docksal on macOS
    4. The Hitchhiker's Guide to the Planet Drupal
    5. Drupalship.org a starter kit for newcomers
    6. Payment and Mollie in Drupal 8
    7. Install an existing Laravel project
    8. CKEditor Media Embed wrapper for Drupal 7
    9. Migrating SQL in Drupal 8 with Migrate Tools and Migrate Plus
    10. React and Drupal 8 with JSON API 2/3
    11. React and Drupal 8 with JSON API 1/3
    12. Drupal Dev Days Seville 2017 documentation
    13. Development best practices learned from the Drupal Dev Days Seville 2017
    14. Drupal 8 custom Google Maps and automatic geocoding with Composer, Drupal Console and Drush
  10. 2016
    1. Fix The following signatures couldn't be verified because the public key is not available on Ubuntu 16.04 (Xenial)
    2. Drupal 8 JSON custom migration
    3. Scrum in a small team with multiple projects
    4. Drupal 8 links or where is my l() function?
    5. Alter Views sort by taxonomy weight
  11. 2015
    1. Behat: affordable testing for small to medium client projects
    2. Running Drupal 8 on Koding.com
  12. 2014
    1. Use +SymLinksIfOwnerMatch option in .htaccess for Drupal on Virtualmin

Latest · 9 November 2026 · AI · Claude Code

A software factory to build the world of Pocket Switzerland

How a handcrafted side project grew a harness, a town on foot, and a small software factory where Claude Code, Codex, Blender and Herdr work between my decisions.

Read the post →

Recent posts

  1. A software factory to build the world of Pocket Switzerland
  2. Four Claude Code mods: GitHub CI, Lagoon builds, local ports and the session at a glance
  3. Pocket Switzerland: a paper country in 3D, explored by hot-air balloon
  4. Semantic search with Drupal and Typesense
  5. Drupal faceted search with Typesense and InstantSearch
  6. The Hitchhiker's Guide to the Planet Drupal - 2023 edition
  7. Gutenberg with Drupal part 1: Blocks attribute decorator
  8. Moving from Brussels to Lausanne and other Drupal stories
  9. Visual regression testing for Drupal migrations with Playwright
  10. The state of GraphQL with Drupal 10 (part 1)

All posts →