← back to work
Lawyard
View live

Lawyard — Legal Intelligence Pipeline

Automated legal intelligence for African markets, processing 25,000+ updates daily.

Lawyard — Legal Intelligence Pipeline
PythonFastAPIPostgreSQLSupabaseSlack APIWordPressTrafilaturaPlaywright

The Problem

Lawyard wants to be Africa's leading legal intelligence platform. But their production model was quietly working against that vision.

A small editorial team was manually tracking legal and regulatory developments across the continent — producing around 15 stories a week, most of them concentrated in Nigeria and English-speaking markets. Not because that's where the most important legal activity was happening, but because that's where the team happened to be, and what they could read.

That's a headcount ceiling, not a coverage strategy.

Every country without a fluent team member was effectively invisible to the platform, regardless of what was happening there. And even within their covered ground, manual source-scanning meant stories sat unnoticed for hours, broke late, or got missed entirely while competitors moved faster.

With over 1,500 sources worth monitoring across the continent, the math didn't work. More coverage meant more hires — beyond what the business could realistically support. An alternative model is imperative

The Approach

The obvious solution — point an LLM at everything — doesn't survive with the actual numbers. At 25,000+ raw updates a day, most of that volume isn't a judgment call: it's duplicates, stale articles, or the wrong source type. A rule catches all of that in milliseconds, at zero cost.

Content is extracted through a multi-method fallback chain so a failure in one extractor doesn't drop the article.

For extracted contents, the pipeline filters like an editor before it thinks like one: a freshness check and five layers of deterministic deduplication run first, collapsing 25,000+ daily updates to roughly 150 real candidates before a model is ever called — a 99% reduction in LLM calls, built entirely from logic.

From there, the LLM handles only what rules can't: relevance scoring and category classification. Irrelevant items are dropped. For relevant non-English updates, translation runs then to elimite cost on irrlelvant ones. Items then get rewritten to Lawyard's editorial standard — voice, structure, length.

The entire judgement is however not left to AI, relevant items are posted to Slack for a human-in-the-loop "approve" step, then published to WordPress automatically on approval.

The pipeline runs continuously against 1,500+ sources across Africa.

  • 25,000+ raw updates monitored daily across 1,500+ sources spanning Africa
  • ~99% cut in LLM calls — deterministic pre-filtering narrows daily updates to ~150 real candidates before AI ever runs
  • AI reserved for judgment calls only, spending nothing on decisions rules can already make
  • Multi-method fallback content extraction chain: Trafilatura → Goose3 → Readability → Playwright
  • Human-in-the-loop: a single "approve" in Slack publishes straight to WordPress

The Outcome

From 15 posts a week — mostly Nigeria — to 80 published daily across Africa. That's a roughly 37x increase in output with the same editorial team, no longer constrained by the language or location

Gallery

View live