Brief the crew
The pre-job tailgate talk is being built. Until it lands, describe the job in Search the past to see what went wrong on jobs like it and what BSEE recommends.
Report it
Near-miss capture by voice is being built. Until it lands, type what happened in Search the past: it checks what the report is missing and how to fix it.
Search the past
Paste a cause statement or describe a planned job. Tail Gate suggests the cause, finds the closest past offshore incidents and the BSEE alert that applies. A person decides.
One or two sentences on what failed and why. Leave out people's and companies' names; the page redacts the ones it recognises, but you are the first check.
Press Ctrl or Cmd with Enter to read. The local model takes a few seconds.
Or try a real report from the dataset:
Export from your incident system: CSV with one report per row, a text file with one per line, or JSON. Reading happens one row at a time with your corrections; nothing is kept unless you choose to share.
Two calls. Get a signed state once, then send each report with it. Every answer returns the updated state; send the latest one next time. The server stores nothing about you.
STATE=$(curl -s https://offshore-incidents.strategic-innovations.ai/state)
curl -s https://offshore-incidents.strategic-innovations.ai/classify \
-H 'content-type: application/json' \
-d "{\"text\": \"The casing valve was left open after handover\", \"state\": $STATE}"
import requests
BASE = "https://offshore-incidents.strategic-innovations.ai"
state = requests.get(f"{BASE}/state").json()
for report in reports: # your own list, names removed
r = requests.post(f"{BASE}/classify", json={"text": report, "state": state}).json()
state = r["state"] # carry it forward
print(r["category"], r["margin"], r["flags"], [f["fix"] for f in r["fixes"]])
Fields: category; margin over the runner-up (under 0.03 is a close call); flags and fixes; similar, five past incidents from the same era; alerts, BSEE safety alerts with their recommendation; repair_available. POST /learn with a category teaches a correction into your state. A link with ?text= opens this page with the report filled in.
Your corrections
Nothing read yet
Paste a cause statement or pick a real report on the left. You will see, in this order:
- the suggested cause, how sure the reading is, and what the report is missing;
- the past offshore incidents that read the same way, shared words highlighted;
- the BSEE safety alert that applies, with its recommendation;
- a place to record the action a reviewer chose.
New reports, sorted by what they need
An agent watches BSEE's public investigation index, files each newly published report here, and reads every cause statement. You start with the lane that needs you most.
Pick a report
Each report shows the investigator's own cause next to Tail Gate's reading, how often the mechanism has happened before, and what the report is missing.
What keeps going wrong
Mechanisms that recur across separate incidents.
Cause statements by year
Modern era only, where investigators use the six categories. Counts are cause statements, so one incident can add several.
How Tail Gate works, and how far to trust it
How the numbers were checked
Organisers' protocol: 374 cause rows from 159 incidents in the modern era, the shipped folds, out-of-fold predictions, macro-F1 with a 95% interval from 1,000 incident bootstraps.
Published baseline 0.349 (0.293 to 0.399). Tail Gate's similarity model 0.440 (0.383 to 0.485), a paired gain of +0.091 (+0.024 to +0.162). The local-model agent 0.471 (0.413 to 0.529). An independent evaluator re-scored both from saved predictions and found no leak. Not shown: any difference between our two models.
Human labels: two teammates labelled 38 held-out rows by a rule written first, and marked 5 as too incomplete to label. On the other 33, the baseline agreed with them on 20, the similarity model on 16 and the agent on 18. With so few rows the intervals run from about 0.33 to 0.75, too wide to rank the three. The two label columns were filled together, so agreement between raters was not measured.
Filling the gaps: for 4 of those 5 incomplete rows, the missing words were in the same report's other rows. The page rebuilt all 4 using only that report's words, each sentence citing its source rows. The fifth stays marked missing. A word check proves nothing was invented, not that the rebuild is right; a person accepts each one.
What did not work: the agent's learn-from-mistakes loop (0.471 with it, 0.503 without). A planted label word was found at 0.80, short of our 0.9 bar. Categories with 26 to 28 rows are mostly noise.
How it works
- Redaction
- Anything that looks like a person's or operator's name is removed before text reaches a model. A ledger check refuses a prompt that still carries one.
- Past incidents
- The five most similar documented incidents from the same era, and BSEE's alerts for that kind of event. Alerts that describe the challenge's own incidents are kept out.
- Cause reading
- A similarity model: nothing trained, instant. The local language model is an optional second opinion.
- Checking the answer
- Only one of the six cause names is accepted. Anything else falls back to the vote of the past incidents, and the fallback is shown.
- Your corrections
- They travel with you inside each request, signed; a tampered state is refused. Reports you choose to share are kept, names redacted, in a chained ledger anyone can inspect.
Your data
- Without an account
- Searches, briefs and readings are worked out and returned; nothing you type is kept. Actions you plan stay in this browser.
- With an account
- Your organisation's reports, actions and talks are stored for your organisation only. No other organisation, and no Tail Gate reader, sees them. Every change is written to an audit trail where each entry seals the one before, so an edit or deletion shows.
- Sign-in
- An emailed link, no password. Tail Gate stores only a fingerprint of each link and session, never the link itself. Links work once, for 15 minutes.
- Analytics
- Counts of what people do (a search run, a talk given, an action closed), with people and organisations replaced by one-way codes. No names, email addresses or report text. Bots and our own checks are counted separately and left out of the numbers.
- The shared pool
- Only reports you choose to share, with names removed on arrival. A shared report teaches the reader for everyone only after a reviewer accepts it.
Who it is for
- Field crews and supervisors
- The matches and the alert before the lift, not after.
- HSE and operations
- Pattern review, investigations and corrective actions, and sharing reports with the pool.
- Executives and risk leaders
- Recurring hazards across the fleet: the file upload reads a quarter's reports at once.
Cause suggestions are model outputs for a person to review, never verified ground truth and never an operational clearance. Source: Bureau of Safety and Environmental Enforcement, US Department of the Interior. Cause element names: Energy Institute. Tail Gate began as InciRep, built on 2026-11-07 at the HAI Hackathon by Team 1, MIT licence.