CHIRPdb social card

About

A production backend API for CHIRP, the maritime safety reporting charity, built with Tandem Creative Dev and Zig Zag AI. It ingests UK MAIB accident reports through two pipelines: GOV.UK URL scraping and direct PDF upload. A spaCy NLP stage extracts sentences, sections and structured metadata; an asynchronous per-section LLM correction pass verifies and corrects the extraction before records land as provisional. SHA-256 deduplication prevents duplicate reports across ingestion runs and a domain-specific SHIELD-code taxonomy classifies each incident. 384-dimension embeddings in Supabase pgvector are the foundation for semantic search. The pipeline is designed to extend toward an evaluation harness and multi-jurisdiction ingestion. I contributed documentation, a knowledge graph of the codebase and Claude Code configuration to support ongoing development.

Highlights

  • Dual ingestion pipelines: GOV.UK URL scraping and PDF upload, both producing structured incident records.
  • SHA-256 deduplication prevents duplicate reports across ingestion runs.
  • Domain-specific SHIELD-code taxonomy for maritime incident classification.
  • Supabase pgvector for 384-dimension semantic search embeddings.
  • Commercial client work: production-deployed behind Cloudflare on Tandem infrastructure.

By the numbers

Commits
585

of 1,202 total

Lines added
+130,538
Lines removed
−82,410
Source files
48,255