The languages, infrastructure and tools I build with.

People sometimes ask what I use day to day. This is the stack behind my work on remote desktops for HPC at Siemens, the event-driven services I built at Mercedes-Benz, and the side projects on this site.

Languages

  • Go

    My default for services and tooling. I’ve used it for event-driven microservices, REST and gRPC APIs on Gin and Gorilla Mux, and godevtool, my debugging toolkit for Go services.

  • Rust and C++

    For the parts where latency and memory layout matter, like the decoding paths in remote desktop delivery for HPC workloads.

  • TypeScript

    For React and Vue front ends and for Node.js services. Most of my interview prep material is written in it too.

  • Python and Kotlin

    Python for Django services and anything that involves ML models. Kotlin for the JVM services I moved off legacy stacks.

Frameworks

  • Gin and Fiber

    Small, fast HTTP frameworks for Go that stay out of the way.

  • Express.js

    Still the quickest way to stand up a Node.js API. I wrote express-route-lister to see every route an Express app exposes.

  • React and Vue

    I’ve built component libraries in both, with Pinia for Vue state, and micro-frontends that let teams ship UI modules independently inside one application shell.

  • Ktor, Spring Boot and Django

    The server frameworks I reach for in Kotlin, Java and Python.

Data and messaging

  • PostgreSQL and Redis

    PostgreSQL as the system of record, Redis for caching and anything short-lived.

  • Kafka

    The backbone of the event-driven microservices I built at Mercedes-Benz.

  • RabbitMQ and Azure Service Bus

    For work queues and service-to-service messaging. RabbitMQ connects the services in my flight booking project.

  • MongoDB

    For document-shaped data, mostly in Node.js projects.

Infrastructure

  • Kubernetes and Docker

    Where almost everything I build ends up running.

  • Terraform and Ansible

    Infrastructure as code, so HPC service deployments are repeatable instead of hand-built.

  • AWS and Azure

    The two clouds I’ve shipped production systems on.

  • PBS

    The scheduler behind the HPC workloads my remote desktop work serves.

  • GitHub Actions, Azure DevOps and GitLab CI

    I’ve used all three for CI/CD, and once took a deployment from hours down to under 15 minutes.

AI and agents

  • Model Context Protocol (MCP)

    For giving AI agents safe, typed access to real systems. I built an MCP-based tool for diagnosing remote desktop sessions.

  • Google ADK and agentic workflows

    For agents that analyse services, plan migration steps and handle repetitive refactoring, with people reviewing every change.

  • RAG and embeddings

    Retrieval for LLM question answering and semantic search for recommendations.