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.