Machine Learning Engineer · Wellington, New Zealand

I build deep-learning models that keep working outside the lab.

I design compact models for real-time sensor data, re-engineer them to run on low-cost hardware, and own them in the field. My PhD system for earthquake early warning runs live on 12 sensors across New Zealand. Before that, I spent five years building production C++ at Synopsys for teams at Intel, Google and Samsung.

  • Edge AI
  • Time-series & sensor ML
  • State-space models (Mamba)
  • ML deployment & monitoring
  • C++ performance
12 sensorsrunning my models live across NZ since April 2026
4.5 s → 0.73 son-device inference after re-engineering a GPU-only model for CPU
>97% · <6 msaccuracy and latency of a ~38K-parameter CNN detector
5+ yearsproduction C++ at Synopsys (Intel, Google, Samsung)

Featured work

Edge-native earthquake early warning

My PhD at Massey University's CRISiSLab: a warning system that detects and characterises earthquakes directly on a low-cost Raspberry Shake sensor (1.2 GHz ARM, under 1 GB RAM, no accelerator) — no cloud in the loop, because every second of warning counts.

Two-stage cascade running on the sensor Waveform from the sensor goes to an always-on CNN detector, then a spectral filter, then an on-demand Mamba model, and a finite-state machine makes the warning decision. A fleet tool deploys and monitors models across 12 sensors. Low-cost sensor 3-component waveform stream CNN detector always on · ~38K params <6 ms · CPU <5% Spectral filter rejects noise false alarms Mamba model on demand · ~240K params phase · intensity · magnitude Decision state machine mean 2.34 s Fleet tooling — deploy, update and monitor across 12 sensors packaged releases · encrypted models · systemd auto-restart · health and log checks · central log archive
The cascade runs entirely on the sensor: a tiny model screens every moment of data, and the larger model wakes only when something real happens.
Model design

Compact CNN detector

A ~38K-parameter CNN chosen with my own complexity-aware architecture search. Generalised to the 2016 Kaikōura earthquake beyond its training range. Published in Scientific Reports, a Nature Portfolio journal.

>97% accuracy · <6 ms
Model design

Multi-task Mamba model

A ~240K-parameter state-space model that verifies the event and estimates shaking intensity and magnitude from about 2 s of data in one pass, trained on ~89,000 GeoNet records.

F1 95% vs 79% classical
Optimisation

GPU-only → CPU-only

Re-implemented the GPU-only Mamba library in native PyTorch and built a PyTorch → ONNX → TFLite pipeline with numerical-parity checks, at full precision.

4.5 s → 0.73 s per inference
Production

Fleet deployment & monitoring

Python tooling that ships and updates both models across 12 sensors in one run, with per-host reports, health checks and centralised logs. Every M4+ earthquake near Wellington since May 2026 was detected by at least one sensor.

20+ updates · ~10 min rollout
Field lesson

Fixing a hidden domain shift

Accuracy that looked solid offline fell on the cheaper sensors we actually deploy. I traced it to station-level sensor differences and fixed it with a small calibration layer instead of retraining.

R² 0.20 → 0.62 · 80 params
Open data

Raspberry Shake dataset

Curated and published a New Zealand low-cost-sensor earthquake dataset: 44 stations, 741 manually verified three-component records.

View on Kaggle →

A month-long unattended run on a live station reached 87.5% event-level precision, with stable CPU, memory and thermals and automatic recovery from two unplanned restarts.

Experience

Where I've worked

Research engineering in New Zealand, and five years of production software engineering before that.

  1. Jul 2023 – present · thesis submission Nov 2026

    Doctoral Researcher — Deep Learning for Edge-Native Earthquake Early Warning

    Massey University, CRISiSLab (Joint Centre for Disaster Research), Wellington
    • Took a research question to a live system: model design, data pipeline (~100 GB of research and low-cost sensor data), deployment and field monitoring.
    • Training on GPUs and an HPC cluster with Weights & Biases and Optuna; semi-supervised labelling from PhaseNet/EQTransformer picks.
  2. Sep 2024 – Sep 2026 · part-time

    Technical Manager

    CRISiSLab, Massey University
    • Led technology delivery across the lab's sensing hardware and software; guided 6–7 interns and research assistants.
    • Defined the QuakeAlert warning app and guided the intern who built it; contributed to the lab's Flask ShakeMap service.
    • Technical lead and judge for the CRISiSLab Challenge, a disaster-resilience technology competition (~20 teams).
  3. Feb 2018 – May 2023

    Associate Technical Lead · Senior Software Engineer · Application Engineer

    Synopsys Inc., Sri Lanka
    • Led C++ feature development and release engineering for the VCS Native and Certitude verification tools used by Intel, Google and Samsung.
    • Led TBQ (testbench qualification) end to end, from specification to production release; adopted by several major customers.
    • Led two engineers day to day in a 10-person team, mentored about four junior engineers, and led for a period the ARM64 port of Certitude.
  4. Aug 2016 – Jan 2017

    Software Engineering Intern

    Paraqum Technologies, Sri Lanka
    • Designed an AES-XTS encryption core (~24 GB/s on FPGA) and a PSNR/SSIM test suite for a hardware HEVC video encoder.
Education

PhD — Massey University

Deep Learning for Edge-Native Earthquake Early Warning (submission Nov 2026). Massey University Doctoral Scholarship.

Education

BSc (Hons) — University of Moratuwa

Electronic & Telecommunication Engineering, GPA 3.6/4.0.

Publications

Papers

Full list on Google Scholar.

  1. D. Ravishan, R. Prasanna, P. Herath, E. E. H. Doyle · Scientific Reports (Nature Portfolio), 16, 11536, 2026
  2. Rapid and unified single-station earthquake early warning from 2 s of P-wave data using a Mamba architecture In submission
    D. Ravishan, R. Prasanna, P. Herath, E. E. H. Doyle · IEEE Transactions on Geoscience and Remote Sensing
  3. Onsite earthquake early warning in New Zealand: a practical deep learning approach using low-cost IoT sensors In preparation
    D. Ravishan, R. Prasanna, P. Herath, E. E. H. Doyle · IEEE Internet of Things Journal
  4. T. Z. Samiha, D. Ravishan · ICTICM 2026
  5. R. Prasanna, C. Chandrakumar, R. Nandana, C. Holden, A. Punchihewa, J. S. Becker, S. Jeong, N. Liyanage, D. Ravishan, R. Sampath, M. L. Tan · Informatics 9(1), 25, 2022
  6. Algorithms for detecting P-waves and earthquake magnitude estimation: initial literature review findings
    C. Chandrakumar, R. Prasanna, M. Stephens, M. L. Tan, C. Holden, A. Punchihewa, J. S. Becker, S. Jeong, D. Ravishan · ISCRAM Asia Pacific 2022
  7. S. Wijeratne, A. Ekanayake, S. Jayaweera, D. Ravishan, A. Pasqual · ACM/SIGDA FPGA 2019, Seaside, CA

Posters

Research posters

Four years of the project, as presented at New Zealand earthquake-science conferences. Click a poster to read it full size.

Talks & recognition

Speaking and awards

Invited talks

"AI-Enabled Onsite Earthquake Early Warning" — QuakeCoRE annual meeting, 2026; also presented to a meeting of NZ earthquake-early-warning experts.

"AI at the Edge: Bringing Earthquake Early Warning to Sensors" — QuakeCoRE machine-learning workshop.

ML models for resource-constrained edge devices — Emergency Management Institute.

"Edge AI for Disaster Resilience" — CRISiSLab webinar, 2026. Guest lectures on applied AI (Massey master's programme).

Recognition

QuakeCoRE 2025 lightning talk — Wellington-chapter winner, presented at the national annual meeting.

IEEE Signal Processing Cup 2017 — top 20 teams worldwide (real-time embedded beat tracking).

IEEEXtreme 24-hour programming competition — national rank 18 (2016) and 23 (2017).

4th place — Sri Lanka Robotics Challenge.

Skills

Toolbox

Machine learning

  • PyTorch
  • TensorFlow / TFLite
  • ONNX
  • scikit-learn
  • CNNs
  • Mamba / state-space models
  • Multi-task learning
  • Architecture search
  • Domain adaptation
  • Evaluation & calibration
  • Weights & Biases
  • Optuna

Deployment & MLOps

  • CPU-only inference on ARM
  • Model conversion with parity tests
  • Fleet updates over SSH (Fabric)
  • systemd
  • Health checks & logging
  • Cloudflare R2
  • Docker
  • Flask
  • GPU / HPC training

Software engineering

  • Python
  • C++ (11/14/17)
  • Bash
  • Linux
  • Git
  • CI & nightly regressions
  • GDB / Valgrind / Coverity
  • Multithreading
  • SQL
  • AI coding tools (Copilot, Claude Code, Codex)

Data & signals

  • NumPy / Pandas / SciPy
  • Time-series & sensor data
  • Digital signal processing
  • ObsPy / SeisBench
  • Dataset curation & labelling
  • FPGA / Verilog background

Get in touch

Always happy to talk about edge AI, real-time deep learning or earthquake early warning — research, engineering or collaboration. Based in Wellington, New Zealand.