-
Legacy products that still need to ship Your customers still expect updates, fixes, and support — but you no longer want to run the software side in-house. Maybe the original team moved on, or your focus shifted to hardware, sales, or operations. I take ongoing ownership of the product: maintenance, further development, releases, and the technical depth your users still rely on — without building an engineering department around it.
-
Prototypes that have to prove something fast You need to know whether an idea works before you hire a team or commit to a platform. I build prototypes on real hardware and against real constraints — embedded web HMIs on microcontrollers, industrial touch interfaces, or cloud-connected demos wired to actual devices. The deliverable is a working answer to a concrete question: does this stack fit, does this UX work in the field, can we ship this at all?
-
Architecture and stack decisions you can trust You are about to choose a platform, split a monolith, or bet on a new technology — and the cost of getting it wrong is years, not weeks. I have built across decades of stacks, but I am not living in the past: I stay close to what is shipping today, including where AI and modern tooling genuinely help and where they do not. I tell you plainly what will work in your context, what will not, and what is worth the risk — so the architecture you commit to is solid before the first team is hired or the first sprint is burned.
-
Scaling from prototype to a real team What started as a proof of concept is now a product — and the workload is outpacing one or two developers. I help you grow the codebase and the team together: clear architecture, sensible delivery habits, and hands-on technical leadership as you move from a solo builder to five, ten, or more. The goal is scale without a rewrite, without chaos, and without losing the people who still need to understand the system.
-
Hardware and software in one flow The firmware drives the machine, the HMI serves the operator, the backend connects to the cloud — and the failures usually live in the seams. I work across microcontroller, plant-floor UI, and backend layers so the product behaves as one system. That includes protocols, firmware update paths, field error handling, and the integration work that hardware and pure-software teams often leave to each other.
-
Continuity when your team changes Key people leave. Vendors switch. Documentation is thin and the bus factor is one. I step into existing codebases — sometimes for months, often for years — take responsibility for what is already there, and keep the product moving. Whether you need a stable partner during a reorganization or someone to hold the line until a new team is ready, continuity itself is the deliverable.
My journey began on a VC20 — programs on Datasette, RAM gone before the ideas were. From there through C64 and Amiga to BASIC and Assembler: the 8-bit era sparked a lifelong passion for efficient problem-solving and led me to computer science studies.