Skip to content
Basin Thread

Well Intelligence Platform

Your field data and your books, reconciled every day.

Measured volumes sit beside booked volumes, and the variance between them is a tracked number rather than a month-end surprise. Every figure names the source it came from.

Works with the RTUs, PLCs and flow computers you already run. Read-only to your system of record.

synthetic operating co
ProductionJuniper Ridge 14 batteryproduction day 2026-08-06 · contract day 10:00–10:00
StreamMeasuredBookedVarianceState
OILBBL1,284.61,290.0−5.4−0.42%in tolerance
GASMCF14,20314,2030.00.00%match
WATERBBL3,910.23,884.0+26.2+0.67%review
CONDBBLno data61.4no gauge
measured — strapped gauge, corrected to 60 °Fserves 14-2H · 14-3H  API 99-001-00001, -00002
Illustrative. Identifiers and volumes are synthetic.

You already know the problem. You have a name for it.

None of this is exotic. It is what the last day of the month looks like at most operators.

  • Two systems, two numbers, no tiebreaker

    The field screen says one thing, the report says another, and the real numbers have quietly been living in a spreadsheet for two years.

  • A zero that could mean anything

    Shut in, or the poll failed? Software that renders both as 0 teaches the whole team to stop believing the screen.

  • Month-end as an archaeology dig

    Days reconstructing three weeks ago from memory, paper tickets and a tank that got trucked but never got recorded.

  • The alarm list nobody opens

    When everything alarms, nothing does. The one that mattered scrolled past at two in the morning.

One measurement pipeline, from the tank to the trial balance.

Instrumented wells send telemetry. Tanks with no instrumentation get gauged by a pumper on a phone. Both arrive as the same kind of measurement, each carrying its own provenance, and both land in the same reconciliation against your books. That convergence is the product.

Instrumented

RTUs, PLCs, flow computers

Modbus · DNP3 · OPC UA · MQTT / Sparkplug B

Not instrumented

A pumper with a phone

gauge · haul · correction

both arrive as one measurement

One measurement pipeline

Normalized, quality-flagged, attributed

Every value keeps its source, units, observation time and quality state.

Reconciled

Measured against booked

reads your accounting system — SELECT only

Answered

Engineers, accountants, operations

trends · reports · exports

How measurement moves through the platform.

What the platform does

Five capabilities, one pipeline. Every one of them records where its numbers came from.

Field telemetry

Modbus, DNP3 and OPC UA to the equipment you already run, plus MQTT with Sparkplug B for constrained cellular. Tags from different vendors normalize into one model.

Live tags
  • JR14.TK03.LEVEL14.62ftgood
  • JR14.MTR.GASRATE318.4MCF/dstale 41m
  • JR14.TK01.LEVELno datano comms

Alarms and call-out

Severity tiers, attributed acknowledgment, and escalation to whoever is actually on call. Rationalization shows which alarms are noise, because flooding is why crews stop trusting a system.

AlarmsJuniper Ridge 14
  • High-high level

    JR14.TK03.LEVEL

    active

    07:41 · unacknowledged

  • Pressure above limit

    JR14.SEP.TUBINGP

    acked

    06:12 · J. Reyes

  • Rate below expected

    JR14.MTR.GASRATE

    shelved

    until 08-09 · with reason

Supervisory control

Setpoints, start and stop, remote shutdown. Authority is granted per device group rather than globally, and every command lands in an audit log that cannot be edited.

Audit entry09:14:01
device
JR14.PMP.SETPOINT
action
setpoint write
prior
38.0 SPM
commanded
42.5 SPM
device ack
accepted 09:14:02
by
J. Reyes · control grant on Juniper Ridge 14

Entries are append-only. Nothing here can be edited or removed after the fact.

Field data capture

Pumpers gauge tanks from a phone, in innage or outage, in the units the crew works in. The strapping table does the conversion in software — nobody runs the arithmetic on a clipboard thirty times a day. Oil and condensate carry temperature and gravity correction; water is volume change plus what left on a truck. A hauled load is entered once and carried into the next calculation, so a tank that got trucked never reads as negative barrels.

How gauge capture works →

TANK 3 · JUNIPER RIDGE 14 · OILOBSERVED 07:12
GAUGE14 ft 7 3/8 ininnage
GOV412.66BBLstrapping table v3 · interpolated
VCF0.988478.4 °F this gauge41.2 °API lab on file
NSV405.42BBLGSV × (1 − BS&W)
HAULED182.04BBLnet · ticket 4471
TOTAL214.90BBLproduced since last gauge
this gaugelab on filetank default
Illustrative. Identifiers and volumes are synthetic.

Production truth

Actuals, runtime, trends, maps and exports — with measurement reconciled against booked volumes, so the difference is a number you can open rather than a surprise you discover. Units, dates and freshness are labelled on everything.

How reconciliation works →

Daily actuals · Juniper Ridge 14as of 09:41
DayOil BBLGas MCFWater BBLHoursState
2026-08-06128.41,420391.024.0complete
2026-08-05131.91,388402.624.0complete
2026-08-0496.21,011288.417.5partial
2026-08-03no datano datano datano datanot received

A day that did not arrive reads as no data, not as zero. The difference matters when someone is deciding whether a well is down.

Illustrative. Identifiers and volumes are synthetic.

The part that is hard to copy

Any vendor can draw a trend line. These are the design decisions underneath it.

Measurement you can defend

Every stored value keeps its source device, its units, its acquisition time and its quality flag. A reading that arrived late, arrived interpolated or failed a check stays distinguishable from one that did not. When a number gets questioned, the platform can answer where it came from.

It fails closed

If a connection, schema, permission or query fails, the platform returns an error and says so. It never substitutes sample, estimated or stale-as-fresh data to keep a dashboard looking full. An empty chart with a stated reason is worth more than a complete one built from a guess.

Control with accountability

Seeing a well and commanding it are separate grants. Every command captures who sent it, from where, the prior value, the commanded value and the device acknowledgment. Operators can hand out control without handing over a blank cheque.

Access bound to your company

Which wells and facilities anyone can see or command is bounded by their company grants. Identity lives in a separate database from operational data, and no query joins across the two. Revoking an account takes effect on the next request.

Gauge the tank. Drive back. It syncs.

Tank batteries are where cell coverage is worst, and every pumper reading this has stood somewhere with no bars holding a phone. Gauges, hauls and corrections are captured and queued on the device with no signal at all, and sync when signal returns. The queue survives the browser closing and the phone restarting, and the pumper can see what is still waiting.

  • Installs to the home screen. No app store to wait on, no MDM approval cycle, no version drift across a crew of phones.
  • A contractor pumper can be working in under a minute, with nothing for IT to approve.
  • Usable with gloves on, in sunlight, on the phone the crew already carries.
  • Corrections are made in the field. The original reading is kept, the change is attributed, and anything that moved downstream is flagged rather than quietly restated.

The field experience →

  1. 01 At the tank

    07:12no signal

    TANK 3 · OIL

    Methodinnageoutage
    Gauge14 ft 7 3/8 in
    Temp78.4°F
    BS&W0.6%

    No paper table to carry. The strapping table turns the gauge into barrels.

  2. 02 Driving out

    Queue3 waiting
    • gauge TK0307:12
    • haul 447105:40
    • amend TK0106:55

    Held on this phone. Times stay as observed, not as sent.

  3. 03 Back in range

    Queue0 waiting
    • gauge TK03sent 09:41
    • haul 4471sent 09:41
    • amend TK01sent 09:41

    Every entry accounted for. A day of gauges is never silently dropped.

Illustrative. Identifiers and volumes are synthetic.

Questions operators ask first

Does this replace our existing RTUs?

No. The platform talks to the RTUs, PLCs and flow computers you already have, over the protocols they already speak. There is no hardware replacement programme and no rip-and-replace step. If your field equipment works today, it keeps working.

Which protocols do you support?

Modbus RTU and Modbus TCP, DNP3, and OPC UA for direct device communication, plus MQTT with Sparkplug B through an edge gateway for publish-subscribe telemetry over constrained or metered cellular links. The protocol reference in the docs describes how each one is configured.

Can we host it ourselves?

Yes. Cloud is the default and needs no infrastructure from you. Customer-hosted deployment is available where your security posture requires operational data to stay inside your own network. Both run the same platform; the deployment choice does not change the feature set.

Who can send control commands?

Only accounts granted control authority on that specific device group. Visibility and control are separate grants, so a user who can see a well cannot necessarily command it. Every command requires an explicit confirmation and is written to an audit log recording who, what, when, from where, the prior value, the commanded value and the device acknowledgment.

What about wells with no instrumentation?

That is what gauge sheets are for, and most wells are not fully instrumented. A pumper records the tank gauge on a phone, the strapping table converts it to a volume, and that volume flows into the same reconciliation as telemetry. Derived volumes are reported at the tank and battery level, which is the level a gauge can honestly support.

How do you handle a load that gets hauled off?

The pumper enters the load that left, and that volume is carried into the next production calculation — production since the last gauge is the volume change plus what went out on a truck. Volume alone is enough if a crew wants to move fast. If you need the paper trail, capture the full run ticket or disposal manifest with ticket number, carrier and destination. Both produce the same corrected figure; one just carries more history. Systems that ignore hauls make a tank that got trucked look like it produced negative barrels, and somebody fixes that by hand at month end, every month, forever.

Do our pumpers have to install anything?

No. The platform runs in the mobile browser and installs to the phone home screen, where it opens full screen and behaves like an app. There is no app store listing to wait on and nothing for IT to approve, and updates land the moment they ship rather than whenever a crew gets around to updating.

How does this relate to our production accounting system?

The platform reads approved fields from it over a least-privilege, SELECT-only connection and never writes to it. Field input you record here — gauges, hauls, corrections — is stored in the platform own database, not pushed back into your books. The point is to put measured and booked volumes side by side so the variance is visible, not to take over your accounting.

See it against your own wells.

A demo runs against synthetic data first, then against a read-only connection to your system of record if you want to see real numbers. Or start a trial and look around on your own.