Arbeiten
Ausgewählte Fallstudien. Jede beschreibt ein echtes System: die Einschränkung, meine Entscheidung, was sie gekostet hat und was sich dadurch geändert hat.
Algolia durch eigene Vektorsuche ersetzen
Die Designsuche von JUNIQE lief auf einem SaaS-Dienst, der Wörter treffen konnte, aber keine Bedeutung. Ich habe den Service gebaut, der ihn abgelöst hat — semantische Bildsuche in Go, auf Qdrant und Postgres.
- Go
- Qdrant
- PostgreSQL
- pgvector
- Redis
- CLIP
- Kubernetes
Sechs Jahre lang zeigen, wie das Design auf dem Ding aussieht
Eine Frage — wie sieht das gedruckt aus? — auf fünf verschiedene Arten beantwortet, weil ein Poster, ein T-Shirt und ein Warenkorb-Thumbnail nicht dasselbe Problem sind.
- Go
- Rust
- PHP
- libvips
- AWS Lambda
- Kubernetes
Eine GPU-Renderfarm durch CPUs ersetzen
Produktvorschauen liefen über eine einzige, absturzanfällige GPU-Instanz. Ich habe den Renderer in Rust neu geschrieben, damit er auf gewöhnlichen CPU-Knoten läuft — und in die Breite statt in die Höhe skaliert.
- Rust
- three-d
- OpenGL
- glTF
- Docker
- Kubernetes
Infrastruktur für zwei Shops
Zwei E-Commerce-Marken, vier Umgebungen, ein Satz Terraform-Module. Die langweilige Hälfte der Backend-Arbeit — und die, die entscheidet, ob die interessante Hälfte je live geht.
- Terraform
- AWS
- Kubernetes
- Helm
- GitHub Actions
Ein Load Balancer, der weiß, welcher Pod beschäftigt ist
Jeder Renderer-Pod kann genau eine Anfrage gleichzeitig bedienen. Kubernetes weiß davon nichts — also habe ich einen Load Balancer geschrieben, der es weiß.
- Go
- Kubernetes
- Redis
- Helm