- 2026
- apartment-plannerRoom layout planner with branching decision trees.
Plan apartment layouts before moving. Import blueprints, add furniture with real dimensions, and use branches to explore different arrangements without losing previous ideas. Real-time collaboration and cloud sync.
TypeScript website ↗ - 2024Ninetailed / Contentful Staff Software EngineerApr 2024 – present
AI-driven content personalization.
- 2022garden.io Senior Software EngineerJun 2022 – Mar 2024 · Berlin
Multi-tenancy with database isolation. Migrated all databases from integer to UUID primary keys without downtime. Docker build pipeline and CLI performance optimization.
- 2021impfmon 7 ★Chrome extension for finding COVID vaccine appointments in Berlin.
Automated polling of appointment sites, browser notifications, auto-opened booking tabs. Built when getting a vaccine appointment was nearly impossible.
TypeScript source ↗ - 2020
- Contentful Staff Software EngineerMay 2020 – May 2022 · Berlin
Architecture and technical vision. Multi-layered GraphQL caching. Tooling to automate repository migrations and package releases across the backend.
- commitlint-circle 1 ★commitlint wrapper for CircleCI.
Lints all commits in a PR automatically. Zero config.
TypeScript source ↗ - 2019sudoku-dlxFast sudoku solver using dancing-links.
Built the fastest DLX implementation, then obviously had to use it to solve sudoku.
TypeScript source ↗ - 2018ballsBall physics engine.TypeScript source ↗
- 2017schengen-calculatorLibrary for calculating remaining Schengen visa stay days.
Some hacky library that I wrote but never backed up. Built for people who actually need to track their 90/180-day allowance.
JavaScript source ↗ - 2016twitter-sentiment 2 ★Real-time Twitter sentiment analysis with live graphs.JavaScript source ↗
- node-process-stream 1 ★Pipe RxJS streams through multiple child processes.
Because you can.
JavaScript source ↗ - Contentful Javascript Backend DeveloperJan 2016 – May 2020 · Berlin
Built and maintained the Content Management and Delivery APIs. Performance work across the stack.
- GraphQL API — zero to several billion monthly requests
- contentful-migration — intent-preservation architecture, three-layer validation (344 stars)
- 2015dancing-links 9 ★Fastest JavaScript implementation of Knuth's DLX algorithm.
For solving exact cover problems. Zero dependencies, generator-based streaming, support for primary and secondary constraints. Benchmarked against every competing JS implementation. I first worked on exact cover problems at university in 2009.
TypeScript source ↗ - 2014beer-menuSlideshow of the beers we sell.
Quickly hacked together for an actual bar. The kind of project born from "I know how to code and this place needs a screen."
CSS/JavaScript source ↗ - html-to-vdom 171 ★Converts HTML strings to virtual DOM.
53 npm dependents. Built when virtual DOM was still an emerging paradigm, not table stakes. Used alongside virtual-dom to bring template-based views into the virtual DOM world.
JavaScript source ↗ - Delivery Hero Senior Javascript EngineerFeb 2014 – Jan 2016 · Berlin
Extended the framework with virtual-dom support. Shipped deliveryhero.com.au and lieferheld.de on the common platform.
- cls-bluebird 45 ★Patches Bluebird for continuation-local-storage support.
Created the project, then handed it off once I no longer needed it. Another maintainer did a complete rewrite with ~100k tests.
JavaScript source ↗ - 2013CaveNavOffline cave navigation system for Android.
A* pathfinding through graph-based cave maps. Compass + step counter for position tracking, with a hypothesis-building algorithm that narrows down your location by comparing walking patterns against possible paths. Built for the Caestert Marl quarries — 200km of tunnels where every corner looks the same. Co-created with Thomas Misera.
- 2012Delivery Hero Frontend DeveloperAug 2012 – Feb 2014 · Berlin
Architected and built an isomorphic JS framework for the common frontend platform. Backbone.js, Node.js, promise-based, async rendering, i18n templates, Browserify. Pre-React.
- backpocket — isomorphic JS framework powering multiple countries
- facebookLookupForReddit 3 ★Chrome extension that cross-references Reddit usernames against Facebook.
Built to demonstrate privacy risks of shared usernames across platforms. Install it, hover over usernames, and watch it find matches.
JavaScript source ↗ - 2011Ideaspool Full Stack DeveloperAug 2011 – Jun 2012 · Maastricht
Booking, inventory management, and planning system for a wellness resort. CMS for Maastricht University's Prospective Students Portal.