What CHIRP gets
Where the days go
| Work | Days | Cost |
|---|---|---|
| Build | 106 | £53,000 |
| Contingency | 21.2 | £10,600 |
| Project management | 31.5 | £15,750 |
| ZigZag product management, including a Maritime Safety Senior Stakeholder Workshop to decide the future direction of CHIRPdb | 21.2 | £10,600 |
| Total | 179.9 | £89,950 |
Not included
- Asking through Claude or another third-party AI. Users ask in CHIRP’s own chat. The chat tools could also be offered to Claude and other AI chat services as an MCP connector for 2 more build days (£1,700).
- Asking without an account. Everyone signs in before asking.
- More chat features: charts and maps in the reply, memory shared across chats, uploading your own document, and sharing a link to a conversation.
- Full ingestion of the 6 new countries. These use fast ingestion, which is quicker but gives less reliable data.
- Causal AI.
Hosting and AI usage are paid by CHIRP externally to this quote. Costs come from the full menu.
Glossary
Where this page says Claude, it means Claude as an example of an AI chat app. Diamond’s connector would work the same way with ChatGPT or any other AI chat app that supports MCP.
- Chat harness. The part of CHIRP’s chat that we build in place of a third party’s AI app. It sends each question to an AI model with CHIRPdb’s instructions and tools, runs the tools the model picks against CHIRPdb, which does the searching and counting, and streams the answer back. It holds the sign-in, the saved conversations, the per-user rate limits and the overall spending cap, so CHIRP controls the UI, the costs and which AI model is used.
Why it costs more than an MCP connector. Diamond’s connector was a small service that gave Claude a few CHIRPdb tools. Everything around it came with Claude’s app, run by Anthropic. An AI model on its own (as opposed to the full harness that Claude.ai provides) only takes text in and gives text out. With our own chat harness, we build and run the rest:
- The chat UI, on desktop and mobile, accessible
- Deciding which tools to call and when, and streaming the answer
- Accounts: sign-up, sign-in, email verification and password reset
- Transactional emails: sending, delivery and bounces
- Saved conversations and follow-up questions
- GDPR: CHIRP becomes responsible for every account and conversation stored, so it needs a privacy notice, a retention policy, a data processing agreement with the AI provider, and a way to delete or export a user’s data on request
- Security, uptime, backups and monitoring
- Abuse, bots, rate limits and the spending cap
- Testing that the answers are right, which Anthropic did for its own app
- Paying for every question asked, which Claude’s users paid for themselves in Diamond
- Spending cap. A limit on CHIRP’s total AI bill across everyone using the chat, not a limit on any one user. Per-user rate limits stop one person or bot asking too much; the spending cap protects CHIRP if a huge number of people or bots use it at once, for example after it goes viral. CHIRP sets the limit. As the bill nears it, the chat tightens limits for everyone and then pauses new questions, instead of running up an open-ended bill.
- Shared vocabulary. Each country describes the same thing in its own words: one says “fishing vessel”, another “fishing”, another “trawler”; severity and accident type vary in the same way. We map every country’s terms onto one list for each field, building on the IMO classifications we already use for accident type and severity. We also capture more fields from every report, so a report from any country carries close to the detail the MAIB spreadsheets give. The result: ask about fishing vessel groundings and the answer draws on the matching reports from every country, with counts that compare like with like.
- Review tool. The part of the CHIRPdb frontend that CHIRP staff use to check reports.
- Fast ingestion. 2.5 days per country instead of 5. Only some of each country’s reporting rules are built in, so the data is less reliable.
- Validated test set. A fixed list of questions with known right answers, re-run after every change to catch answers getting worse.
- Pattern finding and learning from user questions. Asking what keeps recurring across all reports, for example what keeps causing enclosed-space deaths, and seeing the supporting cases. Included in Platinum Finding what recurs across every report. The AI uses a CHIRPdb tool that searches every report in the database, both its metadata and its plain text, not just a handful of top matches. The AI decides what to look for, for example enclosed-space deaths by SHIELD code, vessel type and country, or a phrase such as “double shift” in the text, then compares the results and writes up the lessons. Counts from the metadata are exact, so every number traces back to its reports. Included in Platinum Patterns in the plain text, and learning. Patterns that appear only in the text are harder: the system has to read the reports to spot them. For example, many reports may mention that the crew had just finished a double shift, but no field records it. With learning, the system spots it in the text and saves “crew had just worked a double shift” against each report it applies to, in effect a new piece of metadata. The next time anyone asks something similar, the system checks the metadata first, then the saved findings, and only then goes back to the plain text, so answers get faster and more consistent with every question. Saved findings are AI-found, not verified by CHIRP, and answers say so.
- Causal AI. Working out which factors actually cause accidents, not just which ones appear together. CHIRP’s experts propose a cause, for example that fatigue leads to groundings, and the system tests it against the reports, showing how strong the effect is; nothing is cited until CHIRP signs it off. It also tests whether a regulation or recommendation worked. Platinum shows what recurs, not what causes what.
- Log. A record of each question asked and which reports the AI used to answer it.
Questions Platinum can answer
-
“How many fishing vessels have sunk in the last ten years, and in which countries?”
A typical answer 112 fishing vessels sank across the 8 countries since 2016. The UK had the most (38), then the US (27) and Norway (14). Most capsized after flooding or losing stability. Each count links to the reports behind it.
How the AI asks CHIRPdb
count_reports(vessel_type="fishing vessel", vessel_sank=true, accident_date_from="2016-01-01", group_by="country")In plain English Count the reports about fishing vessels that sank since 2016, split by country. -
“What keeps causing deaths in enclosed spaces?”
A typical answer Across 46 fatal enclosed-space accidents, two factors recur most: poor planning of the task (29 reports) and procedures not followed (24). A common sequence: the atmosphere was not tested, and a second person died going in to help. Each point links to the report page it comes from.
How the AI asks CHIRPdb
search_text(text="enclosed space", deaths_min=1) count_reports(text="enclosed space", deaths_min=1, group_by="shield_code")In plain English Find passages that mention enclosed spaces in reports where someone died, then count those reports by SHIELD code. -
“Compare collisions in the UK and the US since 2015.”
A typical answer A table of collisions by country and vessel type, 212 in UK reports and 184 in US reports, with the biggest differences called out: fishing vessels feature far more often in UK reports, towing vessels in US reports.
How the AI asks CHIRPdb
count_reports(accident_type="collision", country=["UK", "US"], accident_date_from="2015-01-01", group_by=["country", "vessel_type"])In plain English Count collisions in UK and US reports since 2015, split by country and vessel type. -
“Has anything like this happened before? A bulk carrier grounded at night with one person on watch.”
A typical answer 6 similar groundings, closest first: the bulk carrier Ocean Venture, Australia, 2018, grounded at night with the officer of the watch alone on the bridge; and so on, each with a one-line summary and a link to the report.
How the AI asks CHIRPdb
find_similar(description="bulk carrier grounded at night, single watchkeeper")In plain English Find past incidents that read most like this description. -
“Write me a toolbox talk on mooring line injuries, from real cases.”
A typical answer A one-page toolbox talk in plain English: what went wrong in 14 real cases, the warning signs, and what to do differently, each point linked to the report it comes from.
How the AI asks CHIRPdb
search_text(text="mooring line", injuries_min=1) get_report_pages(report_ids=[…], pages="matching passages")In plain English Find passages about mooring lines in reports where someone was injured, then fetch those report pages.
Illustrative: the tool names and fields are settled during the build, and the figures and vessel names in the answers are made up for illustration.
How CHIRP’s users get answers
What happens when someone asks a question
How it fits together
Scope status after CHIRP’s update
| Deliverable | Done when | In Platinum |
|---|---|---|
| Must | ||
| A broad and validated data set “The real Must is a broad and validated data-set.” (CHIRP’s update) | In Reports from the UK, the US and up to 6 more countries, Compare incidents across countries like with like, SHIELD matching, A validated test set, and logging. The 6 new countries use fast ingestion; the validated test set checks the answers drawn from them. | |
| 3a Pattern analysis “As a CHIRP analyst, I want to ask questions across all reports and datasets, so that I can unearth patterns and publish insight that raises awareness and encourages improvement.” CHIRP’s top priority. | “An analyst query returns pathways with supporting cases, and drafting support produces a reviewable outline.” | In Compare incidents, find recurring patterns and draw lessons, Every conclusion traceable to its source report. The AI shows the recurring sequences with their supporting cases, and drafts an outline from the cited results for an analyst to review. |
| 1a Task briefing “As a seafarer or supervisor about to start a task, I want to know what has gone wrong during similar work, so that I recognise the critical hazards before I start.” | “A member of the public asks a task question and receives a briefing in which every claim is cited to a verified report.” | In CHIRP’s own chat, Compare incidents, find recurring patterns and draw lessons, Every conclusion traceable to its source report, Safe to open to the public. Open to anyone who signs up. |
| 2a Near miss “As a seafarer who has just had a near miss, I want to describe what happened, so that I can see whether others have experienced the same thing and what they learned.” | “A typed description returns related verified incidents, their shared factors and a link to CHIRP’s reporting form.” | In Compare incidents, find recurring patterns and draw lessons (find similar incidents). The AI is instructed to point near misses to CHIRP’s reporting form. |
| All marine accident investigation bodies publishing in English “Full investigation reports from flag and coastal states. The core corpus. MAIB reports are already ingested (P1).” | In Reports from the UK, the US and up to 6 more countries, the breadth CHIRP set for Tranche 2. | |
| Should | ||
| CHIRP Maritime published reports “De-identified confidential reports and commentary. Closest to seafarer experience. Roadmap step 13.” | In CHIRP’s own reports. | |
| Citation integrity “Every public answer cites verified records and links to the source report (step 10).” | In Every conclusion traceable to its source report. Still a fixed constraint in the scope. | |
| 1b Toolbox talk “As an onboard supervisor, I want the briefing produced as a toolbox talk, so that I can brief the crew from real incidents.” | “A request for a named task returns a printable toolbox talk with sources.” | In CHIRP’s own chat, see the example questions. |
| Production hardening “Logins and role-based access for CHIRP staff and partners; anonymous public access kept separate from the review tool and drafting features.” | In Sign-in and user management in CHIRP’s own chat, and public users kept separate from staff tools in Safe to open to the public. Public users sign in rather than staying anonymous. | |
| Public usage controls “Rate limiting per user, a spending cap on question-answering costs, and protection against abuse, scraping and prompt injection.” | In Safe to open to the public. | |
| Monitoring and correction “Usage and error monitoring with alerts, and a route to correct or withdraw a published answer or record.” | In Monitoring in CHIRP’s own chat, and the correction route in Safe to open to the public. | |
| 2b Code incoming reports “As a CHIRP analyst, I want each report we receive coded and set against similar cases, so that I can assess it quickly and consistently and respond with context.” | “A submitted report returns proposed coding and similar cases, and nothing enters the database until verified in the review tool.” | Partly SHIELD matching and Compare incidents, find recurring patterns and draw lessons (find similar incidents), for published reports only. |
| MAIB Safety Digests and bulletins “Short-form learning. Roadmap step 13.” | Future scope | |
| Duplicate and derivative tracking “Many sources republish or edit the same event (MARS, SAFETY4SEA, IMO GISIS and national bodies). Each derivative account links to its source report, and pattern analysis counts the event once.” | Partly Stop the same accident being counted more than once for investigation reports and digests. Linking derivative sources such as MARS and SAFETY4SEA is future scope, along with those sources. | |
| 3b Dashboards “As a shore-side manager or commercial operator, I want to explore trends across the evidence base, so that I can find vulnerabilities and decide where to invest.” | “Dashboards filter by vessel type, date, outcome and country, and every figure traces to verified records.” | Future scope The same counts can be asked for in CHIRP’s own chat. |
| 3c Legislation links “As CHIRP, I want to see where incidents recur because regulation is absent, unclear or poorly implemented, so that I can put evidence to flag states and encourage change.” | “Findings carry AI-proposed legislation links, clearly caveated for the user to verify, and an analyst can list recurring findings by instrument.” | Future scope |
| IMO GISIS Marine Casualties and Incidents module “Investigation reports submitted to IMO, filling gaps for states without their own publication site.” | Future scope | |
| IMO Lessons Learned from casualty investigations “Short anonymised lessons drawn from member-state investigations.” | Future scope | |
| Nautical Institute MARS “Free-text narratives of the kind third parties will submit. Mostly edited from regulators’ reports, so depends on duplicate tracking.” | Future scope | |
| SAFETY4SEA “Incident news and safety articles, often derived from investigation reports, so depends on duplicate tracking.” | Future scope | |
| IMCA safety flashes “Offshore and marine contracting incidents with lessons.” | Future scope | |
| USCG Marine Safety Alerts and lessons learned “Short-form alerts linked to US investigations.” | Future scope | |
| UK legislation and MCA notices “Instruments to link findings against, starting with the UK flag.” | Future scope | |
| ILO Maritime Labour Convention “Hours of rest, manning and welfare requirements.” | Future scope | |
| IMO conventions and codes “The core international instruments.” | Future scope | |
| Could | ||
| 1c Upload a risk assessment, permit or plan “As an onboard supervisor, I want to upload a draft risk assessment, permit or plan, so that it is challenged against previous incidents before authorisation.” | “An uploaded document returns missing hazards and controls with sources, and is deleted after the session.” | Future scope |
| 2c Upload your own report “As an organisation or onboard investigator, I want to upload our own report or event narrative, so that I can find comparable cases and lines of enquiry, knowing the document itself is not kept.” | “An upload returns comparable cases and factors. At session end the document is deleted and a pattern record (SHIELD codes, vessel type, operation, outcome, no narrative) is stored, flagged as contributor-derived and used in aggregate analysis only.” | Future scope |
| Upload terms “Terms stating where uploaded files are processed, that documents are deleted after the session, and that a de-identified pattern record is kept from 2c uploads.” | Future scope | |
| Scanned pre-2005 reports “Historic depth. Requires OCR, excluded from P1.” | Future scope | |
| P&I club loss prevention publications “Claims-led trend analysis and case studies.” | Future scope | |
| Copernicus metocean data “Historical wind, wave and sea state at the time and position of each incident, enriching reports that omit or understate conditions. Needs incident position and time from extraction (step 6).” | Future scope | |
Every deliverable in the Tranche 2 Development Scope, with its description quoted from that document, grouped by its priority after CHIRP moved 2b and all Musts except 1a, 2a and 3a to Should. Won’t items are left out.