Software solutions built around your needs.
I design and build embedded software, HMI, custom native and web applications, reusable libraries and system integrations. I can define the architecture of a new product or improve an existing codebase, from initial analysis to release.
ESP32 firmware & embedded systems
I design and develop C/C++ firmware for ESP32 and embedded systems, integrating sensors, peripherals, connectivity and I/O such as BLE, CAN and GPIO. I also improve firmware already in production, making it more stable and easier to diagnose.
HMI & operator interfaces
I design clear HMI, dashboards and embedded displays with Qt/QML and LVGL, turning machine data, controls and alarms into simple workflows for the people who use the system every day.
Software libraries
I design reusable C/C++ libraries with clear APIs, focused responsibilities and automated tests. They encapsulate hardware, protocols or domain logic so multiple products can share reliable, maintainable components.
Custom software & applications
I build native Android apps, websites, web applications and internal tools around specific product or business needs. I take care of architecture, interfaces, data and integrations with APIs, cloud services, hardware and existing systems.
System integrations & process automation
I connect devices, services and data through backends, APIs and internal tools. The goal is to remove repetitive manual steps, reduce errors and leave the team with a reliable workflow it can maintain over time.
Where we start.
First conversation
We start by clarifying what needs to be built or fixed: goals, technical context, existing code, people involved, timing and project constraints.
Analysis and priorities
I review the repositories, build process and architecture to understand where to intervene first. When needed, I prepare technical notes covering risks, priorities and next steps.
Development and release
I work in small, reviewable increments, keeping code, tests and checks visible to the team. When needed, I collaborate closely with the people who know the product, hardware or project constraints.
Delivery and continuity
I wrap up with clear documentation and changelogs, so the team can understand what changed, why it changed, which checks were performed and what to monitor after release.
Available for a limited number of new projects.
I take on a small number of projects at a time so I can stay closely involved in both the technical work and communication with the team. I am comfortable working under an NDA and often contribute to confidential products and codebases where discretion and clarity matter.