Mining Engineering MEng candidate · Applied AI/ML · Perth / Kalgoorlie, Western Australia

Engineering intelligence for mining data.

I build mining-focused data systems that turn messy field signals into clearer, data-driven engineering decisions.

Sanjay M S, photographed outdoors at Curtin University
Sanjay M S — Perth / Kalgoorlie, Western Australia

About

About Sanjay

Mining engineering, AI/ML, and data-driven decision making.

Based around Perth / Kalgoorlie, Western Australia.

I am a mining engineer currently completing a Master's in Mining Engineering, with a background in civil engineering and Business Management from Lancaster University, UK. My work sits at the intersection of mining operations, field telemetry, and applied AI/ML.

I am interested in practical systems that create leverage: tools that clean messy data, reduce tedious manual review, and help engineering teams make better decisions from trusted signals.

  • 01 Mining Engineering Physical understanding of drilling, field data, and operational context.
  • 02 Civil Engineering Systems thinking, structures, and disciplined engineering judgment.
  • 03 Business Management Operational value, decision making, and understanding where technical work creates leverage.
  • 04 Applied AI/ML Data cleaning, pattern recognition, algorithm-assisted review, and decision-support workflows.

Portfolio projects

Projects at the intersection of mining, telemetry, and AI.

A focused archive of technical work where field data, engineering judgment, and applied AI/ML come together to support better decisions.

Project 1

Drilling Telemetry Data-Cleaning Tool

Rod string length, measured hole depth, and algorithm-assisted depth correction.

A review workflow for cleaning drilling telemetry by comparing rod string length, measured hole depth, and algorithm-derived depth traces. The tool helps surface mismatches, guide correction decisions, and make tedious data QA easier to review.

  • Mining Engineering
  • Drilling Telemetry
  • Data Cleaning
  • Python
  • Depth Correction
  • Decision Support

Built at the Drilling Analytics and Research Centre (DARC), Curtin University.

Context
Drilling Analytics and Research Centre, Curtin University
Role
Design and build — sole developer
Stack
Python · TDMS · Matplotlib · desktop GUI
Output
Cleaned TDMS + CSV, checked against surveyed depth

System evidence

The tool in review mode.

Four synchronized panels place drilling signals beside depth references, helping the reviewer inspect where algorithmic depth, measured hole depth, and rod string length agree or diverge.

Review mode · Comparison graphs Shift 2026-05-07 → 05-08
The tool's comparison view: four synced plot panels showing load cell against hydraulic torque, feed rate against RPM, reviewed hole depth against corrected bit depth, and reviewed rod string length against head position, with approved runs marked as bands.
A proposed correction is judged against what the rig was physically doing at that moment, rather than accepted on the strength of the algorithm alone.

This project reflects the kind of leverage I care about: taking a slow, manual review process and turning it into a more guided workflow, so engineers can spend less time chasing noisy data and more time making decisions from trusted signals.

01 The engineering problem

Drilling telemetry is valuable, but field data is often messy. Depth traces, rod string length, and measured hole depth can drift out of alignment, creating tedious review work before the data can be trusted.

The drift is systematic rather than random: every time a rod is added to the string, the relationship between logged depth and the hole shifts by a step, and the error accumulates across a shift.

02 Why it matters

Depth is the index every other measurement is filed against. Load, torque, feed rate and RPM are only interpretable if you know where in the hole they were recorded.

Cleaner telemetry creates better downstream decisions. When the data is easier to inspect and trust, teams can spend more energy on analysis, planning, and operational judgment instead of repetitive manual cleanup.

03 The data

Multi-file TDMS shift telemetry from a drill rig. The shift shown spans 2026-05-07 22:08 to 2026-05-08 08:59 — a single night shift, roughly 380,000 samples.

Channels used: load cell, hydraulic torque, feed rate, RPM, head position, rod string length, the connection channel, raw bit depth, and reviewed hole depth.

04 My approach

I built a workflow that compares the available depth references, highlights likely mismatches, and supports algorithm-assisted correction. The goal is not to replace engineering review, but to make the review process faster, clearer, and more reliable.

Candidates are scored by confidence and put in front of an engineer to merge, delete, or approve. Where alignment is weak the tool says so plainly instead of quietly guessing — the reviewer keeps the decision, and the file keeps a record of it.

05 Tools and methods

  • Python, reading multi-file TDMS telemetry into one continuous record
  • Channel logic over the connection and rod-length signals to propose candidates
  • Confidence scoring against expected rod length and target depth
  • Matplotlib comparison plots, decimated for interactive review
  • Desktop GUI with a review table and a synced graphs tab
  • A job queue and worker, so shifts are processed in batches rather than one at a time

06 How the result was validated

Tolerance check. Each candidate's rod string length is compared against its assigned target; anything outside ±1.05 m is flagged for the reviewer rather than applied.

Reconciliation. Corrected hole depth and corrected bit depth are confirmed synced, checked against surveyed depth, and the count of approved intervals is reconciled against the expected count — 8 against 8 in the shift shown.

07 My contribution

I designed and built the tool as the sole developer: the detection logic, the confidence scoring, the review interface, the synced comparison plots, the queue and worker, and the export path.

The drilling domain context and the data came from the research centre.

08 Current status

Stated honestly: this is a working tool that processes real shift data end to end and has been used to review real shifts.

I do not have adoption figures, measured time savings, or accuracy against a labelled benchmark — so I am not reporting any. Those numbers would need a study I have not yet run.

09 Known limitations

  • Confidence scoring is heuristic, not a learned model
  • Weak-alignment cases still require an engineer's judgement
  • Decimation is for display only — corrections apply to full-resolution data
  • Validation depends on surveyed depth being available for the hole
  • No labelled ground-truth set yet, so detection precision and recall are unmeasured

10 The next engineering step

Assemble a labelled set of reviewed shifts, then measure precision and recall on rod-add detection against it.

Only with that baseline does it make sense to ask whether a learned classifier beats the current heuristic — otherwise there is nothing to compare against.

01Raw TDMSMulti-file shift telemetry ingested and aligned into one continuous record.
02Detect rod-addsCandidates found from the connection and rod-length channels, each scored by confidence.
03Review & approveThe engineer merges, deletes, or approves candidates against the synced comparison graphs.
04Corrected TDMS + CSVDepth rewritten, checked against surveyed depth, exported for downstream analysis.
Message to reviewer Alignment weak

Run ending at index 21082 has actual Rod String Length 234.00 m far from its assigned target (230.60 m, tolerance 1.05 m) — candidate-to-target-depth alignment is weak.

The tool declining to auto-drive, and handing the call back to the reviewer. This behaviour is the point of the project: a correction nobody checked is not a correction.

  • 380k → 12,255 Samples decimated at stride 31 Review has to be interactive. Plotting every sample makes the interface unusable; stride-31 decimation keeps the shape of the signal while staying responsive.
  • 8 / 8 Approved against expected intervals The count is itself a check. If approved rod-adds don't reconcile with the expected number, something in the shift has been missed or double-counted.
  • ±1.05 m Rod-length tolerance before a flag A rod is a fixed length. Beyond this deviation the candidate is probably misaligned, so the tool flags it for review instead of applying it.
  • 4 pairs Channels synced in the review view Mechanical channels sit beside depth channels, so a proposed correction can be judged against what the rig was physically doing at that moment.
Four-stage pipeline diagram: raw TDMS multi-file shift telemetry, detect rod-adds from connection and rod-length channels, review and approve confidence-scored candidates, and corrected TDMS plus CSV verified against surveyed depth.
The pipeline as presented to the research centre.

Open to work where field data becomes decision intelligence.

I'm interested in mining, drilling, telemetry QA, data cleaning, applied AI/ML, and decision-support systems for engineering teams. I'm especially drawn to work where practical tools can create leverage inside complex field operations.

Start a conversation

mssanjay013@gmail.com