Well done, you've found my resumé site. I am a full-stack & dev-ops software engineer with >14 years of experience. My background extends beyond technical expertise; I've also delved into corporate recruitment and project management. Alongside my technical skills, I have strong communication skills and excel as a productive team member. Below you will learn a little bit about me and see some examples of the work I've done. So thanks for coming and lets begin.
| Languages | Golang, Node.js/TS, Python, Bash, SQL, Java, Groovy, Objective-C, Swift, WebGL, PHP, Avro |
|---|---|
| AI / ML | OpenAI, Azure OpenAI, LangChain, LangGraph, RAG, Azure AI Search, Document Intelligence, Embeddings, Deep Research |
| Geospatial | PostGIS, H3, Vector tiles (MVT), Tippecanoe, deck.gl, Google Maps, GeoPandas, Shapely |
| Frontend | React, Relay, Vite, Tailwind, Zustand, Three.js |
| Cloud Providers | AWS, Azure, Oracle Cloud, Cloudflare, Firebase |
| IaC | Helm, Terraform, Ansible, Cloudformation, CDK |
| CI/CD | Jenkins, Azure Pipelines, Github Actions, Drone.io, Bitrise.io |
| Kubernetes | Cilium, ArgoCD, Istio, Cert-Manager, External-DNS, Network-policies, Gatekeeper |
| Observability | Datadog, Grafana, Prometheus, Splunk, Open Telemetry |
| Database | Postgres, MySQL, SQLite, DynamoDb, MongoDb, Redis, InfluxDb |
| Other | Keycloak, OAuth, OpenID, Kafka, Docker |




As CTO of Adema AI I architected and led the build of a UK property and planning intelligence platform, taking it from first commit to production and growing the engineering team to more than a dozen people. I personally wrote around two-thirds of all commits, including the entire data platform, the Go GraphQL API, the PostGIS database and all of the infrastructure.
Adema maps every registered land title in England & Wales, around 30 million Land Registry polygons, and enriches each one with 30 planning-constraint layers, ownership, sales history, demographics and more. On top of that sits an AI planning assistant. It is a LangGraph agent with around 28 tools that retrieves from the national planning policy framework and the local plans of 338 authorities. It writes full planning statements, BREEAM assessments and pre-application reports. A dedicated care-home module adds demand forecasting and operator matching.
On the data side, automated Go pipelines on Argo Workflows ingest Land Registry, Ordnance Survey, ONS, CQC and DEFRA data every day, index it with PostGIS and Uber H3, and generate vector tiles for a React / deck.gl map. The AI services use OpenAI & Azure OpenAI models with Azure AI Search and Document Intelligence. Everything runs on a private Azure Kubernetes cluster with Cilium, SpiceDB permissions, Auth0, Stripe and a full Prometheus/Grafana/Loki/Tempo stack, all defined in Terraform.
The core ideas behind the platform are protected by a European patent application on which I am a named inventor: "Autonomous System for Optimal Property Market Matching" (EP 25 156 255.9). It describes an AI system that forecasts demand for a given land use in an area, such as care homes or EV charging, using neural networks that learn from trends over time and from geography. It scores candidate sites by combining analysis of satellite imagery with spatial and land-registry data, then recommends the best-matched pairings of site and operator, improving over time from user feedback.
2024 - 2026




During my time at Klarna, as a senior engineer, I was a member of two teams - the Kubernetes on Azure Runtime team and The Merchant Portal Platform team.
Being a member of the runtime team was a great experience, our mission was to develop Klarna's cloud agnostic future, bringing the many thousands of services from ECS over to Kubernetes with a focus on security, uptime and performance. It was a highlight of my time there.
As a member of the platform team it was our job to build the underlying framework und tooling needed to facilitate other teams in Klarna to build features for our merchants. The team had a very central role in the domain and required thorough planning and effective communication to achieve its goals.
Additionally I was a member of the Javascript hiring pipeline which required assessing candidate's on their ability and suitability, while also displaying Klarna's culture and other benefits in the hope of attracting the talented applicants.
While at Klarna I also completed the internal Security Academy a course aimed at teaching engineers about the most prevalent security flaws and how to consider them during the development process.
2019 - 2023




Jicki is a fantastic language learning app. It's adopts a learning paradigm named "Sprachduschen" meaning to shower oneself in the language. Users listen to soothing audio tracks and soak up the riveting language courses. At Zwei.biz we built new versions of both their iOS and Android apps. The new app is built with React Native. I personally was responsible for all the development and shared responsibility for the project management. The app is available so check it out.


Bikeshed is a bicycle spoke calculator and visualiser. It is completely self designed and built by me. It is born from my passion for cycling and restoring bicycles. It leverages Pixi.js and runs natively in the browser by utilising the awesome WebGL, and React.js & Redux.js for all the rest. It allows users to make the precise spoke length calculations needed to produce perfect wheels and, unlike other spoke calculators, it shows in true accuracy the spoke/nipple relationship and the many spoke lacing patterns available.




Robots & Lasers is a two man game studio, started with a friend. We've produced more than 20 games in our first 3 years, and have partnered with some of Germany's largest gaming operators. Which is significant, as I have been the only developer for all the games we have produced. And I am pleased to say all games are HTML5 - no flash in sight.






Beatguide was a platform to help music fans discover electronic music events. It grew to 15 cities within 3 months, during which time it won the Red Bull Amplifier start up competition.
A friend of mine and I started Beatguide and with a small team and a small seed built; Web, iOS and Android platforms, a Back-office, a flash media widget for facebook feeds and an ingenious machine learning tool to gather and interpret event, venue and artist data. Beatguide sadly ran out of funding after 12 months, but managed to achieve a lot in this small time.
Personally I built the entire iOS app and supported the web-frontend, the backend, the back-office tool & the Android app. Additionally I played the role of project manager and was responsible for all the company's design.


Shiftmarket is a platform for shift-workers and their employers to manage shifts, allowing users to swap and give away shifts on the market. I did the the design for the iOS app and the Web app. Additionally I built the web app and helped maintain the iOS app after launch.


BLN.fm is one of Germany's biggest online radio stations. To help them grow I built their iOS app, connecting up to their aging Wordpress installation was challenging, but we managed to make a nice solution which allows users to listen to Bln.fm on the go.


Piraya mobile is an Berlin-based online game publisher. They connect third party games into their growing eco-system using the Piraya iOS SDK I built for them. This was a great project for me. The project was passed on to Piraya upon completion which meant the documentation, code comments, and code style had to be top quality. Which I am proud to say it was.
Fun little collection of packages and fiddles I have made.

A metalsmith plugin which will section your html content into metadata properties.
Iterate through an array with an interval between each call. Stop & kill iteration.
Center Sprites, Text and DisplayObjects in pixi.js with ease
Plugin for pixi.js. which iterates through an array with an interval between each call. Stop & kill iteration.
Plugin for pixi.js, which automatically pauses and resumes your App's rendering when the browser window's visibility changes
Pixi.js plugin. A setTimeout replacement using PIXI.Ticker

How to render some chilled waves and interact with them.
How to make an object move by attraction to a given point & and how to move or swap the attractor smoothly.
How to render a three.js scene with user interation inside a pixi.js application.
How to make balls bounce around in a square container, with some real-looking gravity and wall dampening.
A pixi.js replication of classic analog reel-based counter. Like those found in water & electricity meters.
An example of how to use my very simple pixi-center npm package.

I have quite a lot of Git and Github experience, however almost all my work has been proprietary, and therefore much of my work can't be open-sourced. However, there are a few little gems, so if you like you can check me on github anyway.
Probably the least import thing in this resumé is that I have a Bachelor of Media from Macquarie University, Sydney Australia and that I am Australian and currently live in both Berlin & Freiburg.

