Nebraska · Traffic Safety Engineering · Veteran-Owned
Bad Marine LLC builds crash-reporting and roadway-safety analysis software — crash-report intake and review, location resolution, MMUCC6 crosswalk mapping, FARS coding, benefit-cost analysis, and collision diagramming — for agencies that don't have a seven-figure IT budget or a grant-writing department. We also build free public tools for drivers, because the problem isn't only agency-side.
SBA-certified SDVOSB and VOSB · UEI FPL4ZAVU5TJ1
The Bad Marine crash-record pipeline
Every box is a separate product with its own codebase, connected only by a documented data contract. Pick any one to see what it does on its own.
Most crash reports already arrive as XML from an officer's records-management or field-reporting system. They skip scanning entirely and go straight into The Refinery's intake, into the same review as every other report.
Turns a scanned paper report into one structured record: printed text, checkboxes, and handwriting, each with a confidence score and its location on the page. It runs entirely on the agency's own hardware, so the scan never leaves the building. On its own, it's an OCR engine for crash forms. In the pipeline, its output lands in The Refinery's intake queue.
Turns any crash coordinate into an official reference post (or street + offset) plus a full MIRE roadway dataset, in about a second. It's validated against thousands of a state's own finalized crash records. On its own, any system can call it. In the pipeline, it feeds The Refinery's Location lane, where a mapper confirms the point.
The layer before a state's crash database. Every report, whether electronic, scanned, or keyed by hand, is filed into a case. A local AI model reads it first and proposes corrections, each with a confidence score. It never changes a value on its own. Then two teams work it in parallel: reviewers confirm the data field by field against the report image, and mappers place the crash on the road network. When both lanes are done and no blocking rule is broken, the finished record goes to the Vault, the agency's own database.
The AI runs on the agency's own server, from a file, with no network connection. Crash data is never sent to an outside AI service.
The online demo runs on made-up reports, with no sign-in: pick a role (Reviewer, Location, Supervisor, FARS, Admin) and work the queues. It's one shared copy that resets to the sample set every night.
The finished record is written into the database the agency already runs. Nothing gets replaced. From there it's clean, validated, and usable day to day. Older systems can be kept fed too, through The Refinery's legacy output.
A standalone tool for the state's FARS analyst. Finished fatal crashes arrive on a worklist, and the analyst codes the 53 FARS elements a state's MMUCC6 report doesn't cover, with the complete case file on screen. Send to NHTSA turns the finished case into the XML file NHTSA receives, so most of the federal case arrives already done and the analyst only finishes what's left in NHTSA's own system.
Traffic & Transportation Analysis Probing: where a state's crash data analysts ask questions of the finished data. The analyst builds the question on screen as one readable sentence, down to the vehicle and the person, and gets a table, a chart, or the crashes behind any number. It reads a feed from The Refinery into its own copy and never changes a crash report. Where it's set up, a question typed in plain words fills in the builder through The Refinery's local AI, and a person still presses Run.
Keep your legacy system
Your database stays exactly as it is. Crosswalk reads its records in the format they're already in, maps every field onto MMUCC 6th Edition, checks each crash against the standard's own edit rules, and produces the MMUCC 6 XML NHTSA takes. It's a standalone product. A state running The Refinery doesn't need it: The Refinery keeps the state's own fields and exports MMUCC 6 out of the box.
The system the state already runs, built before MMUCC 6, with its own field names and its own codes. Nothing about it changes, and officers keep filing reports the way they do today. Crosswalk reads from it as it is.
Each state is mapped once: every one of its fields matched to its MMUCC 6 home, its own codes translated along the way. From then on, every crash is checked against 130 of MMUCC 6's 131 edit rules, the federal consistency checks, and each violation is surfaced for a person to decide: allow it, fix the source, drop the crash, or blank the one bad value. Nothing slips through quietly.
The state keeps the complete record and decides, field by field, what's withheld from what goes out.
What leaves is MMUCC 6 XML, one file per crash, each checked against the standard's own schema before it's written. Today NHTSA takes each state's file in the state's own format and maps it itself; this arrives already mapped. State-specific values with no MMUCC 6 home go to a separate file for the state's own partners, never into the federal one.
Grouped by where each product sits. Every one of them works entirely on its own.
Scanned crash report → structured data
Reads printed text, checkboxes, and handwriting into one structured record, with a confidence score on every value. It runs entirely on the agency's own hardware.
Try the demo → Free demo · no signupIntake, AI-suggested cleanup, human-confirmed review
Every report is filed into a case, pre-read by a local AI, and confirmed field by field by a person before it reaches the agency's database.
See how it works → Live & validatedLat/long → official reference post + full MIRE dataset
Turns a crash coordinate into an official location reference and a full MIRE roadway dataset, automatically, in about a second. Validated against thousands of a state's own finalized crash records.
See how it works → Live demoAny state's crash data schema → MMUCC6, validated
Maps a state's own crash, vehicle, and person fields onto the federal MMUCC6 standard, then validates the result against 130 of the 131 MMUCC6 edit rules. Built on real data from four states and one jurisdiction.
See how it works → Live demoCrash data questions as one readable sentence
Analysts count crashes, vehicles, or people with no code, down to the vehicle and the person, and click through to the records behind every number. Reads the finished data from The Refinery and never changes it.
See how it works →HSM-standard benefit-cost analysis & collision diagramming
Empirical Bayes, Safety Performance Functions, Crash Modification Factors, and an HSM-style collision diagram builder. A licensed Windows product.
See how it works → LiveBrowser-based crash-scene diagram builder
Real vehicle icons, road presets, roadside objects. Export a print-ready PNG in minutes; nothing you draw ever leaves your device.
See how it works →Civic Tech & Community Impact
Separate from our commercial work: small tools we build and give away when an everyday civic task is harder than it needs to be. Independent. Not affiliated with any state agency.
This site, and Skippy, run as real canisters on the Internet Computer — not a badge stuck on a conventional web app. It's the same standard we hold the rest of our engineering to: verifiable, and built to be checked rather than taken on faith. Tools that need conventional hosting — like the location-resolution and benefit-cost services — run where they make the most sense, and we say so plainly rather than force everything on-chain for appearance's sake.
Bad Marine LLC is built by a traffic safety practitioner who got tired of watching small agencies get priced out of the tools well-funded ones take for granted. If that's a problem you have too, let's talk.
Contact Bad Marine LLC