TC Regulations Finder
Filter Canadian marine regulations by vessel and export a compliance checklist
Built for a marine surveyor: pick a vessel's type, length, tonnage and voyage, and instantly see which sections of Transport Canada's regulations apply — then export them as a PDF checklist to sign off.
The tool is a static TypeScript/React site with no server and no database. Seven official regulations (thousands of sections) are read once by an update script written in Python, which turns the government's XML into compact JSON that ships with the site.
Filtering, full-text search, saved vessel presets and PDF export all run inside the visitor's browser. The matching engine is deliberately over-inclusive: when a rule's applicability is unclear, the section is shown, never hidden, and the official wording is displayed next to it so the surveyor can verify.
When the law changes, the owner re-runs the script and republishes. A test suite of almost a million filter combinations checks the results against oracles hand-derived from the legal text before every release.
What you get with a project like this
- A vessel profile form that narrows thousands of sections to the ones that apply
- Search across every regulation with definitions on hover
- Saved vessel presets that stay on the user's device
- One-click PDF checklist with checkboxes and a signature block
- Official source documents available for download
- An update process that keeps the site aligned with the law
Every moving part, in plain language.
Follow the arrows from the person using it to where the data lives. Hover any box to see what it talks to.
Filtering, search and the PDF checklist are all produced right here — nothing is uploaded.
The pages plus the regulation data, served from a content network.
Reads the official text, turns it into data, runs the tests and publishes the new version.
The regulations as published — the single source of truth.
What it costs to keep this online.
Building is a one-time price. Running it is a separate, usually tiny, monthly amount — here is where every dollar goes.
| Part | Per month | Notes |
|---|---|---|
Hosting Static files on a content network. | $5 | Static files on a content network. |
Database None — all data lives in the visitor's browser. | $0 | None — all data lives in the visitor's browser. |
Domain name Uses the free hosting address; a custom domain is ≈ $12/year. | $0 | Uses the free hosting address; a custom domain is ≈ $12/year. |
| Total | $5 / month | |
Full-size demo.
Want something like this?
Describe what is different about your situation and you will get an honest range and a plan.
Tell me about your project