Machine Learning
Developing and deploying machine learning models for natural language processing, computer vision and predictive analytics.
- PyTorch
- TensorFlow
- scikit-learn
Writing about ML, Python & software craft
Machine Learning Engineer & Senior Python Developer
I design and build scalable software systems that put machine learning to work, from data pipelines and model training to clean, production-ready Python. This is where I share what I learn about AI, data and software engineering.

What I do
Three areas I keep coming back to, both in my day-to-day work and on this blog.
Developing and deploying machine learning models for natural language processing, computer vision and predictive analytics.
Designing scalable, robust and efficient software with a focus on performance, clean architecture and maintainable code.
Data preprocessing, exploratory analysis and statistical modeling that turn raw data into insight and data-driven decisions.
From the blog
Notes, tutorials and talks on machine learning, Python and building software that lasts.
Two small problems that cost me more time than they should have, an openvpn3 error about an invalid D-Bus path and an SSH connection that hung because of a stale ControlMaster socket, plus a recap of the whole series.
Inside the AI agent backend: LangGraph runtimes cached on a 16-part key, progressive skill disclosure with a 128-tool cap, compare-and-swap settings mirrors, and a feedback pipeline that groups meetings by red flags.
Every bug I hit while building my own VPN gateway, internal network and DNS, grouped by kind, with the symptom, the cause and the fix, and the three patterns behind most of them.
How my OpenVPN fallback on TCP 443 is configured, why tls-crypt made it stop answering scanners, how I build client profiles, and the steps for adding and revoking a client.
Browse
Jump straight to the subjects you care about.
Let's talk
Whether it's machine learning, Python engineering or an invitation to speak, I'm always happy to hear from you.