Skip to content

About

I build products where the technical bet and the business case have to survive the same scrutiny.

I’m an Associate Software Engineer at X4 Digital Labs, where my work sits between what a system can do and what a business actually needs it to do.

My background is full-stack — enough time across the application layer, the data layer, and the model layer that I can price a technical decision rather than defer it. That range has been most useful not for the breadth of what it lets me build, but for the accuracy it gives me about cost: which architectural bets are worth their price, and which are expensive detours dressed up as progress.

In practice that’s meant shipping transformer-based conversational systems with real-time inference, production e-commerce platforms handling authentication and payments, deep learning image classifiers deployed behind live APIs, and streaming analytics surfaces that closed the gap between a question and its answer. Different domains, but the same underlying discipline: find the sharpest version of the problem, then build the least thing that settles it.

What I’ve come to care about most is the framing work that happens before any of that. The projects I’ve seen struggle were rarely under-engineered. They were faithful implementations of a question nobody had interrogated. I’d rather spend an extra week making a problem statement falsifiable than a quarter building the confident answer to a vague one.

I’m most useful on early-stage products where the problem is still moving, on teams that treat a release as evidence rather than a milestone, and in rooms where someone needs to translate honestly in both directions between engineering reality and business intent.

Domains

  • Product Strategy
  • Applied AI & Machine Learning
  • Natural Language Processing
  • Computer Vision
  • Full Stack Engineering
  • Data Products

Working together

Clear problems, honest metrics, short feedback loops.

The teams I do my best work with share a few habits: they write the problem down before the solution, they decide what would count as failure before shipping, and they treat a surprising result as information rather than an embarrassment. If that sounds like how you operate, we’ll get along.