January 2026 - Present
A*STAR | Quantum Innovation Centre (QInC), Singapore
MLOps Research Officer
At A*STAR, I design the Singapore-side cloud and ML stack for the GNOME collaboration's dark matter detection project.

I can't summarise this job without first explaining the projects, because they're unlike anything else I've worked on.
The science
The GNOME Project is an international physics collaboration. It runs a network of magnetometers around the world to search for dark matter and other exotic physics. If certain hypothetical signals pass through Earth, several stations should record a related pattern, and the timing differences between stations help separate a possible event from local noise.
That's the physics. My job is building the data pipelines, machine learning systems and infrastructure that make those searches possible.
More recently the work has grown to include a second experiment, built around a levitated magnetic rotor, along with physics-guided neural networks and two first-author manuscripts in preparation. More on those below.
The data processing
Every GNOME station has its own sensor quirks, calibration requirements, sampling conventions and local noise. The recordings have to line up on a common time base, which means getting GPS timestamps and their conversion to UTC right. Power grids add interference at 50 Hz or 60 Hz. Hourly calibration pulses, bad measurements and recovery periods all have to come out without leaving new artifacts behind.
Nobody had built a pipeline that did all of this end to end. I had reference results for network sensitivity and station activity, and the job of reproducing them from the raw recordings.
No single preprocessor could handle every station in one consistent pipeline. So I built one.
Then I ran it across six months of raw data. That meant profiling and processing 347,000 HDF5 files across nine stations, and building the multi-terabyte processing and AWS storage workflows to handle them.
The pipeline covers calibration, timestamp alignment, resampling, filtering, quality checks and station-specific exceptions. For Science Run 6 it also handles two sneakier problems. Filtering across a calibration pulse creates fake transients. And a sensor can report itself healthy while some of its measurements are unusable.
To validate it, I reproduced the project's reference sensitivity and station-activity results with more than 99% agreement. I also generated and audited 1,000 benchmark datasets containing 6.24 billion measurements and found zero source-to-output discrepancies.
The collaboration now has data it can trust, and a repeatable path from raw recordings to analysis-ready outputs.
Making the ML practical
Alongside preprocessing, I work on the collaboration's ML pipelines, which pull structure out of noisy measurements.
A big piece of that was speeding up a PyTorch training pipeline for convolutional and graph neural networks. With cached preprocessing, mixed-precision training and data prefetching, I cut:
- training time by 49.5%, from 95.2 minutes to 48.1 minutes
- end-to-end runtime by 43.9%
- peak allocated GPU memory by about 47%, from 1.82 GB to 0.97 GB
Faster doesn't count for much if the science changes, though. When one model's performance regressed, I ran controlled experiments on the cache, the precision setting and the random seed. They ruled out corrupted cached data and pointed to variation in the training process itself, not to the easy answer that mixed precision makes the model worse.
The levitated magnetic rotor
The Rotor project looks for faint dark matter signatures a different way.
It doesn't compare stations around the world. It measures the motion of a levitated magnetic rotor as it slows down. The challenge is spotting extremely weak disturbances against the rotor's normal motion and the experimental noise.
I developed physics-guided neural networks that combine templates derived from the expected physical response with feature-based classifiers and 1D CNN ensembles. The final architecture uses three frequency specialists that together cover roughly 439 Hz to 66.5 kHz. The physics tells the detector what to look for, and the networks learn how to weigh that evidence in noisy data.
The evaluation uses 15 experimental recordings, with separate recordings for training, model selection and testing. We inject simulated signals into real experimental backgrounds and measure how reliably the detector recovers them at different strengths and frequencies.
At one injection strength, one hundred-thousandth of the chosen reference drive, the selected detector recovered 97.2% of simulated signals with a 5.02% false-positive rate per candidate window on held-out data. A denser evaluation covered 22,500 simulated injections.
To be clear, these are detector-development results. We haven't detected dark matter (yet). We have a physically motivated search method, tested on held-out data, with its strengths and limits written down.
The full-stack side
The other half of the work was access. Physicists across the collaboration needed a practical way to get the processed data for their own theory work and experiments.
So I built a Next.js and AWS portal. A physicist requests datasets for any combination of stations and days, and the portal packages them into a downloadable archive. It has authentication, admin tools and a discussion forum, so conversations about the data don't stay scattered across emails and Teams threads.
I'm also solely responsible for the AWS infrastructure at A*STAR's Quantum Innovation Centre, including the entire GNOME cloud stack. Compute, storage, access controls, Dockerised workloads, large data transfers, long-running jobs, maintenance and troubleshooting are all on me. I don't write the processing code and hand it off. I run the infrastructure it lives on too.
The research papers
Two parts of this work are becoming first-author manuscripts. Both are in preparation, with submission planned by the end of 2026.
-
Searching for Axion-Like Dark Matter with a Levitated Magnetic Rotor and Physics-Guided Neural Detection
Madhav Gautam, Dileep Kottilil, Tao Wang, and Andrea Vinante. -
Data Preprocessing for Exotic Spin Signals in GNOME Science Run 6
Madhav Gautam, Dileep Kottilil, and Tao Wang.
The first covers the Rotor experiment and the neural detection pipeline. The second documents the preprocessing that turns GNOME's raw recordings into reliable inputs for analysis.
Building these systems and then writing up the methods behind them has been one of the best parts of this role.
Somewhere along the way this stopped feeling like a list of engineering tasks and started feeling like helping build an experiment. I'm building systems for research that's trying to figure out what the universe is made of. It's a strange and excellent thing to be doing.
I've been here since January 2026.
as a bonus, here's a picture of me from the day I completed my first week at A*STAR :)