Are you happy now? You just destroyed my whole page.

I worked really hard on this, you know…

*sigh*  Can you at least pass me the broom? 🧹

Portrait of Hans Böse
HANS BÖSE
Hi, I'm Hans.

SoftwareDeveloper& Platform Guy

Full-stack with a backend & infrastructure heart. Ten-plus years shipping web platforms, microservices and Kubernetes clusters — from Berlin, now from Bangkok.

10
Years in dev
2
Team-lead roles
YAML files

About

results-oriented · dependable · calm under load

I've been building websites and microservices for more than a decade. Most of my experience is full-stack, but my centre of gravity has always been the backend — and lately, the platform underneath it.

I started with a German dual vocational programme (two weeks in the company, one week in school), was a fully qualified team member soon after, and three years later took a team-lead role to learn everything outside the editor: 1on1s, OKRs, stakeholder alignment, and translating requirements between systems, teams and external contractors. Scrum and Kanban were part of every role.

What I care about: developer experience (automated formatting, static analysis, CI that tells the truth), boring reliable infrastructure, and clear ownership. I'm not easily rattled by job stress, I ask questions early, and I enjoy sharing what I know — with people from different roles, technical and cultural backgrounds.

Off the keyboard I've got a media-design background (video and audio), which still shows whenever there's a Photoshop layer or a stream overlay to fix.

Facts

  • Based in Bangkok
  • Berlin roots
  • German (native)
  • English (fluent)
  • IHK Fachinformatiker
  • Mediengestalter Bild & Ton
  • Team lead ×2
  • Remote-friendly

Currently into

  • Kubernetes / GitOps
  • Logistics & supply chain
  • Pharma cold chain
  • IoT & geofencing
  • Agentic dev workflows

Skills

Dots are a gut feeling, not a certificate. Five = I've run it in production for years and would pick it again.

Now

Things I'm working on right now — or shipped recently.

Product · logistics

Neolink

A supply-chain visibility platform for freight forwarders — live shipment tracking across sea, air and road, a live map with real ocean routes, a risk radar that matches world events against live cargo, and CO₂ reporting. I build the backend: Node/TypeScript services on MongoDB, ScyllaDB and MySQL, running on Kubernetes.

  • TypeScript
  • Node.js
  • MongoDB
  • ScyllaDB
  • MySQL
  • Kubernetes
Product · cold chain / IoT

BeeBox360

A cold-chain project at Neolink: temperature-controlled boxes for sensitive goods like pharmaceuticals, travelling the world with cellular IoT trackers inside. I designed the delivery detection — a three-fence geofence state machine (origin → approach → delivered), computed server-side from device webhooks, ending in an automatic cold-chain certificate.

  • Webhooks
  • MongoDB 2dsphere
  • Queues / workers
  • State machines
  • Geocoding
Platform · infrastructure reset

Kubernetes on DigitalOcean

Moving Neolink from one shared stack to per-customer infrastructure: a central admin cluster runs ArgoCD, Vault, monitoring and identity, and every customer gets their own Kubernetes cluster and databases — described in a single file in Git. Onboarding a customer or shipping a new app is just a pull request.

  • DOKS
  • ArgoCD
  • Vault + ESO
  • OpenTofu
  • ZITADEL
  • VictoriaMetrics · Grafana
  • Cloudflare
  • Azure
Target shape of the platform — a shared control plane, isolated customer worlds.
Admin cluster (central) ┌──────────────────────────────────┐ │ ArgoCD · Vault · Observability │ │ ZITADEL · OpenTofu · OnCall │ └──────────────────────────────────┘ │ GitOps · one file per customer ┌──────────────┼──────────────┐ │ │ │ Customer A Customer B Customer C cluster cluster cluster (own DBs) (own DBs) (own DBs)

The courier is not the best signal

Problem

Carrier aggregators confirmed deliveries over an hour late for long-tail regional couriers — and meant asking customers for tracking numbers.

Solution

The IoT tracker inside the box always knows where it is. We made the device the sole delivery signal, evaluated server-side with geofences.

Never do work inside the webhook

Problem

Geo lookups, e-mails and certificates inside the webhook handler risk timeouts — and the sender then marks the delivery as failed and retries.

Solution

Validate, persist, enqueue, return 200. A worker does the heavy lifting — and brings retries, dead-letter and replay for free.

Isolation is the AI story

Problem

All customers on one shared stack: unclear per-customer cost, shared blast radius, and AI features risk cross-customer data exposure.

Solution

One cluster and one set of databases per customer, defined in a single Git file — isolation, cost visibility and a sales argument in one.

Agents with guardrails

Problem

Coding agents are fast — but happily skip planning and touch things they shouldn't.

Solution

Pre-tool hooks and work-guards gate every step: plan first, then code. Fast, but on rails.

Experience

Berlin → Bangkok
Oct 2023 — today

Lead Developer & Platform

Neolink · Bangkok (remote)

Backend and infrastructure lead at Neolink, a supply-chain visibility platform for freight forwarders. I build the shipment-tracking backend, designed the geofence-based delivery detection for the BeeBox360 cold-chain project, and am moving our stack to per-customer Kubernetes clusters on DigitalOcean, deployed via GitOps.

May 2022 — Sep 2023

Tech Lead

Outsourcify Co. Ltd. · Bangkok

Symfony backends, WordPress and Google Maps integrations for agency clients, plus first responder for customer emergencies. Introduced automated code formatting, developer 1on1s and testing tools, always looking for ways to improve developer experience.

Aug 2019 — Aug 2021

Team Lead & Senior Software Developer

reBuy reCommerce GmbH · Berlin

Led the web team while staying hands-on: regular 1on1s, team-lead syncs, and close work with stakeholders across departments to hit company OKRs.

  • Rebuilt the buy-shop, sell-shop and my-account portal on Symfony 4 / PHP 7.4 / Angular 11
  • Shared Symfony bundles across shops; introduced Psalm into CI; integrated the Wasabi A/B-testing platform
  • Java 11 / Spring Boot microservices, Solr 8 search improvements, Thumbor image service
Aug 2016 — Aug 2019

Software Developer

reBuy reCommerce GmbH · Berlin

New and existing microservices, A/B tests, bug fixing, dependency upgrades — Jira, weekly planning, daily stand-ups. Also kept the legacy Zend Framework 1 shops alive.

Sep 2014 — Jul 2016

Trainee Developer

reBuy reCommerce GmbH · Berlin

German dual system: two weeks in the company, one week at school, final IHK exam passed.

Say hi.

Open to interesting backend / platform work, architecture chats, or just comparing Kubernetes war stories over coffee in Bangkok.