Back to portfolio Case Study · 01

jacobsmith.info / projects / geotms

Mining Tenements ASX Intelligence PostGIS MapLibre GL

GeoTMS — Mining Tenement Intelligence Platform

A live map of every mining tenement in Australia, linked to its ASX-listed holder. GeoTMS ingests all seven state and territory registers and every new ASX announcement each night, and keeps a briefing for every listed explorer and producer.

41,265Live tenements
7States & territories
2,039ASX companies
NightlyData refresh
GeoTMS: live and pending tenements across Australia coloured by holder share-price change over one year, with roads and the Benz Mining company briefing open

The problem

Australia's seven tenement registers are public, but each state publishes its own format, its own status codes and its own holder names, and none of them carries any market context. Knowing who holds what ground, and what that company is telling the market about it, means stitching registers, ASX announcements and annual reports together by hand.

GeoTMS unifies every register into one PostGIS schema (more than 452,000 titles including historic ground), resolves each holder to its ASX-listed parent, and puts the market narrative next to the map: what was drilled, what was found, what changed hands and what the company says is coming next.

Roadmap

  1. 2018
    The concept

    Put every tenement on a map with GIS and bridge geology and GIS in a smart way, removing the dependence on Excel lists and on each state's native datasets.

  2. 2019
    Learning the industry's data

    Met with several tenure management services to see what data they aggregate, and worked with their data.

  3. 2020
    A detour into prospectivity

    Built a modular mineral potential model from the ground up, which became the MPM tool.

  4. 2021
    Backend and scope

    SQL design and database theory, working out what needs to be extracted from ASX releases, and defining a genuine scope for the project to align to.

  5. 2022 – 2026
    Building the dataset

    Accumulating data through fresh runs, trial and error.

  6. 2026 →
    Live

    Frontend and database live, ready to be stress-tested.

What it brings together

State & territory registersWA, QLD, NSW, NT, SA, VIC and TAS: live, pending and historic titles, re-ingested nightly with change detection and a full holder and status history.
ASX market dataDaily prices and delayed intraday quotes for 2,039 listed companies, and every company's announcements feed.
ASX announcementsNew ASX announcements are ingested nightly, extracting drill results, JORC resources and reserves, production guidance, deals, board changes and substantial holders: 45,800+ events from 17,500+ announcements so far.
Ownership in motionAcquisitions and divestments announced on the ASX are mapped onto the tenements involved, so the map shows the new owner before the state register catches up (2,200+ deals).
Company briefingsA briefing for every listed explorer and producer: plain-English summary, share price, resources, tenure, holders and board, upcoming catalysts and recent activity. Every fact links back to its source announcement.
Geoscience layersGeoscience Australia mines and deposits (4,400) and mineral occurrences (194,000), seamless geology (stratigraphy, lithology, age, faults) and national geophysics.

How it stays current

  1. Nightly ingest & change detection: every register row is fingerprinted and compared with the night before. New, changed and dropped titles are logged with their holder and status history, and guards stop a partial government feed from mass-surrendering ground on the map.
  2. Holder resolution: register holder names are matched to ASX companies through company registers, subsidiary disclosures and the tenement schedules in annual and quarterly reports, including joint-venture interests.
  3. Announcement extraction: new announcements are ingested, triaged and parsed into structured records, with validation checks before anything is written. Resource totals are taken from a single statement, never added across years.
  4. Deal-derived ownership: completed deals move tenements to their new owner "as reported on the ASX" until the register confirms the transfer.
  5. Catalyst tracking: company-stated milestones (assays due, studies, first production) are tracked and closed only when a result about the same project is announced.
  6. Daily digest: an email summary of price-sensitive events, register changes and price movers goes out every weekday evening.

Stack

PostgreSQL 17 + PostGISSpatial database: 452k titles, company intelligence and announcement history
PythonIngestion, change detection, holder resolution and extraction pipelines
FastAPI + MapLibre GLVector-tile map, company briefings, search, compare and watchlists
Docker / LinuxSelf-hosted, containerised deployment with automated nightly jobs
Next case study Geological Prospectivity Mapping (MPM)