Computational physicist • Scientific software developer • Research engineer
I build tools that make physical models understandable, testable, and useful in the real world.
I am a computational physicist and scientific software developer based in Amsterdam, working at Amsterdam UMC on biomedical optics, flow-cytometry simulation, signal processing, and low-latency instrumentation. I hold a PhD in Engineering Physics from Polytechnique Montréal, where my work combined fiber photonics, optical imaging, numerical modeling, and experiment.
My projects bring together rigorous physics, performant implementation, and practical usability. I care about clear assumptions, numerical validation, meaningful visualization, reproducible examples, and software that researchers can install, trust, and build on.
- Model light, particles, and signal pathways from first principles
- Build scientific software that scales from prototype to production
- Combine Python interfaces with C++ acceleration where performance matters
- Design calibration, simulation, and analysis workflows for research teams
| Project | Focus | Why it matters |
|---|---|---|
| PyMieSim | Lorenz–Mie scattering · Python/C++ | Models particle–illumination interactions and detector coupling for optical scattering problems. Published in Optics Continuum. |
| SuPyMode | Fiber components · Eigenmode methods | Simulates mode evolution and coupling in tapered fiber systems with a workflow suited to design and optimization. |
| FlowCyPy | Flow-cytometry digital twin | Links physical scattering, fluidics, detector electronics, noise, and measured signals in a single end-to-end modeling framework. |
| LightWave2D | 2D FDTD · Photonics | Covers propagation, scattering, diffraction, waveguides, gratings, resonators, and lenses in a flexible simulation environment. |
| PackLab | Statistical physics · Monte Carlo | Computes hard-sphere correlations and explicit configurations across PY, RSA, and Metropolis workflows. |
| RosettaX | Measurement calibration | Brings FCS data, peak detection, fitting, profiles, and reusable fluorescence/scattering calibration together. |
| Domain | Stack | Outcome |
|---|---|---|
| Computational optics, FDTD, Lorenz–Mie theory, eigenmode methods, Monte Carlo | C++, pybind11, OpenMP, NumPy, SciPy | Fast numerical kernels with maintainable Python APIs |
| Research workflows and measurement pipelines | Pytest, CMake, GitHub Actions, Sphinx, reproducible examples | Software that is testable, documented, and installable |
- PyMieSim: an open-source library for fast and flexible far-field Mie scattering simulations, Optics Continuum (2023)
- SuPyMode: an open-source library for design and optimization of fiber optic components, Optics Continuum (2024)
Research-software manuscripts describing FlowCyPy and PackLab are currently in preparation. FlowCyPy focuses on end-to-end digital twins for flow-cytometry measurements, while PackLab combines analytical and simulation-based workflows for hard-sphere structure and scattering.
I am interested in scientific software engineering, computational optics, and collaborations that turn physical models into practical tools for research and instrumentation.
Explore the full portfolio for project case studies, figures, and research experience, or send me an email.
Science is most useful when it is also usable.

