← / blog
Engineering · June 16, 2026 · 9 min read

How we built a multi-platform legal lead workflow on Claude

The naive way to build a legal-lead tool for Reddit, X, Quora, and Avvo is to build four tools. Four scrapers, four scoring heuristics, four drafting prompts, four sets of compliance logic. It works until you add the fifth platform and discover you've quadrupled your maintenance surface and your behavior drifts between channels.

We built it the other way: one pipeline, many monitors. A post from Avvo and a post from Reddit are different at the moment of ingestion and identical everywhere after. That single decision is why we can add a platform without rebuilding the product — and it's worth walking through how the stages fit together.

Five stages, one path

Every post — regardless of which platform it came from — flows through the same five stages in order. No stage gets skipped, and no platform gets a special path.

1. Watch

Each platform has a monitor tuned to how that platform actually works. Reddit is polled through its official API every 60 seconds; X runs off a live stream; Quora and Avvo are polled on per-topic and per-category cadences. The monitors are the only platform-specific code in the system. Each one does a cheap keyword pre-filter — no AI yet — so we're not paying to run a model on every post about a parking ticket. On PI subreddits alone that filter runs across roughly 14,000 posts a week.

2. Score

Posts that survive the pre-filter go to a classifier built on Claude Haiku — the fast, inexpensive member of the Claude family, which is exactly right for a high-frequency job that runs on every candidate post. It returns structured JSON, never prose: is this relevant, a confidence score, the case type, the urgency, any jurisdiction signals. Anything below our confidence threshold is discarded before it costs us another cent. The scoring rubric is identical across every platform, which is what keeps "high intent" meaning the same thing on Avvo as it does on Reddit.

3. Draft

Posts that clear scoring go to a drafter built on Claude Sonnet — the stronger model, worth its higher cost here because this is the writing that represents your firm. It generates three independent variants per lead, each tailored to the platform's conventions: Reddit runs longer, X stays tight, Quora goes long-form, Avvo stays formal. Every draft respects a hard 200-word cap and the tone you picked from a dropdown. Using the cheap model for the frequent job and the strong model for the rare, high-value job is the core cost-engineering decision in the whole system.

4. Check compliance

This stage contains no AI at all, on purpose. It's deterministic code that enforces solicitation windows, prohibited phrases, per-platform daily caps, and the word limit — pass or fail, identical every time, fully auditable. We wrote up why the rules can't run on a model in our piece on keeping AI replies bar-compliant. The short version: a bar rule needs determinism a language model can't give you.

5. Deliver

Drafts that pass land in a review queue. An attorney approves, edits, regenerates, declines, or escalates — and every action is written to a tamper-proof audit log with attorney, timestamp, platform, and post ID. Nothing auto-posts by default. The pipeline's job ends at "here is a compliant draft"; a licensed human decides whether it goes out.

Why the order is fixed

Cheap filtering before expensive scoring. Scoring before drafting. Drafting before compliance. Compliance before a human. Each stage only runs on what survived the last, so cost and risk both shrink as a post moves down the pipe.

Why two different Claude models

The single most useful architectural choice was refusing to use one model for everything. Scoring happens on every candidate post — thousands of times a day — so it has to be cheap and fast, which is Haiku's profile exactly. Drafting happens only for the small set of posts that clear scoring, and the output is attorney-facing, so it's worth spending Sonnet's stronger reasoning there.

Matching the model to the job — not defaulting to the biggest model for everything — is what makes the per-lead economics work. It's the reason we can run a flat monthly subscription instead of passing through a per-call AI bill.

What "add a platform" actually means now

Because the platform-specific surface is contained to stage one, onboarding a new platform — Nextdoor, LinkedIn, a niche legal forum — mostly means writing a new monitor and a keyword pre-filter for it. The scoring rubric, the drafting engine, the compliance check, and the audit log are already there. The new platform inherits all of it on day one.

Concretely, that means when a new platform goes live, your firm's existing tone settings, case-type filters, and compliance rules apply to it automatically — no reconfiguration, no behavioral drift between channels. That's the payoff of treating multi-platform as one architecture problem instead of four, and it's the bet behind how LexAlert works today.

See the pipeline run on your jurisdiction

Book a demo and we'll run a live post from your practice area through all five stages — watch, score, draft, check, deliver — and show you the reviewed draft at the end.

See the live numbers from your jurisdiction

Book a demo and we'll walk through the real posts in your practice area and state, what those leads cost, and your modeled cost per signed client.

Book a demo
/ keep reading