[NAME]

About

I'm a data scientist working on problems where a wrong number costs money: flagging suspicious transactions in anti-money-laundering software for banks, forecasting demand to drive stock reorders, and extracting structured information from business documents such as company reports and delivery notes. That work is covered by NDAs, so I describe it here only at the level of the problem and the method.

Where I can, I rebuild problems of this kind on public data and publish them end to end, with the code, the numbers and the parts that didn't work. I take on small, well-scoped projects, with a written scope up front and a delivery date agreed before work starts.

Day to day I work in Python: pandas and scikit-learn for modeling, statsforecast for time series, isolation forests and robust statistics for anomaly detection, OCR and retrieval-augmented generation with large language models for documents, and Plotly for results people can explore rather than just read. Every analysis published here regenerates its figures from raw data with a single command.

See the work →