Elixir-focused backend engineer with 5+ years of professional experience building data-intensive and distributed systems. My strongest areas are Elixir/Phoenix and SQL, with substantial experience designing and evolving PostgreSQL-based systems, event-driven architectures, data pipelines, and production services running across Kubernetes and cloud infrastructure.
In my current work in the energy infrastructure sector, I build software for managing a rapidly evolving electricity grid. This includes leading the redesign of a central time-series database handling continuous measurement and forecast data, improving large-scale data processing pipelines, and extracting core components from a monolith into independent services. I work closely with stakeholders to translate operational requirements into robust schemas, ingestion pipelines, and application logic. My background also includes optimization and machine learning, from university coursework to applying mathematical optimization solvers in production systems.
Earlier in my career, I was the first engineering hire at a travel-tech startup, where I helped build the product and backend systems from an early stage. I developed a trip-planning feature and its supporting microservice while working across backend, frontend, and infrastructure, giving me experience taking ownership of projects in a fast-moving environment with little separation between roles.
I’m particularly interested in the parts of backend engineering where correctness, data modelling, and system behaviour matter. I enjoy taking complex or poorly defined problems, understanding the underlying constraints, and turning them into simple, maintainable systems. My experience also extends beyond Elixir into Kafka, Kubernetes, Azure, JavaScript/TypeScript, Python, and optimization services.
Alongside professional work, I have built and maintain LTS Spex, an Elixir library exploring formal specification and verification of system behaviour using labelled transition systems. It reflects the kind of engineering problems I find particularly interesting: understanding not just whether software works, but whether its behaviour matches what it is supposed to do.