Computational Materials Scientist | Scientific Software Engineer | AI/ML-Driven Materials Discovery
Skills & Stack
Programming
Data Analysis & Engineering
Machine Learning
Scientific Software
Software Engineering
Selected projects
Set up the testing framework and Docker-based CI/CD, refactored the codebase, added Pydantic schemas for type-safe hyperparameter validation, and reviewed pull requests.
Added a Grüneisen parameter workflow, NEP machine-learned interatomic-potential support, and a LOBSTER task document schema; also added workflow powerups and updated documentation and tutorials.
Extended the LOBSTER parsers and the electronic structure module with new features and bug fixes for bonding and band-structure analysis.
Implemented featurization of bonding data for machine learning, extended plotting functionality, refactored the codebase and tests, and overhauled the documentation.
The Journey So Far
Oct 2021 — Present
Bundesanstalt für Materialforschung und Prüfung
Doctoral Candidate
- Developed workflows to curate bonding descriptors for about 13,000 materials. Achieved a statistically significant 5- 20% reduction in ML property-prediction error versus models without them across multiple material properties.
- Lead developer and architect of LobsterPy, driving functionalities, testing infrastructure, release management, CI/CD workflows, and managing community contributions.
- Optimized autoplex (an open-source framework for automated ML interatomic-potential fitting) CI/CD by containerizing the project and preinstalling dependencies in a Docker image, reducing end-to-end test runtime from ~2 hours to ~20 minutes (83% reduction); also refactored code and reviewed pull requests.
- Contributed to widely used open-source materials-science software, including pymatgen, atomate2, crystal-toolkit, and others.
Nov 2020 — Sep 2021
Fritz Haber Institute of the Max Planck Society
Research Assistant
- Developed a unified Python package for easy access to atomic features from diverse sources (e.g., pymatgen, matminer, web elements), streamlining data acquisition for ML models.
- Authored Jupyter notebooks for tutorials and documentation, enabling rapid onboarding of new users.
- Tested tight-binding recursion coefficients as candidate descriptors for learning material properties, using symbolic regression to assess their impact.
Dec 2020 — Mar 2021
University of Paderborn
Research Intern - Molecular simulations
- Performed DFT calculations with ORCA to compute ionization potentials and isotropic polarizabilities for polar and non-polar hydrocarbon fluids in the gas phase, validating results against experimental values scraped from the NIST Chemistry WebBook via Selenium.
Jul 2020 — Dec 2020
RWTH Aachen University
Research Intern - Soft matter simulations
- Performed atomistic and coarse-grained molecular dynamics simulations with GROMACS to investigate polymer-ion interactions, analyzing trajectories to evaluate end-to-end distance, radius of gyration, and solvent-accessible surface area.
Jun 2019 — Mar 2020
University of Paderborn
Research Assistant
Computational catalysis | Experimental physics | Automation of experiments
- Performed VASP DFT calculations on ion-exchanged potassium poly(heptazine imide) 2D materials to screen candidates for photocatalytic water splitting, computing electronic structures, band-edge positions, and overpotentials to identify the most promising materials.
- Deposited nanoparticles on patterned substrates via doctor blading and characterized them using SEM, Zetasizer, and drop-shape analysis, quantifying distribution and morphology through statistical analysis of SEM images in ImageJ.
- Developed MATLAB code to automate data acquisition from an SR865A lock-in amplifier and servo-motor control for Z-scan measurements, cutting experiment time by ~70%.
Oct 2015 — Jun 2018
Earlier Industry Experience (2015-2018)
Design Engineer
Mechanical product design and CAD engineering using Siemens NX