cd /news/artificial-intelligence/i-built-an-ai-that-turns-2-hours-of-… · home topics artificial-intelligence article
[ARTICLE · art-34606] src=dev.to ↗ pub= topic=artificial-intelligence verified=true sentiment=↑ positive

I Built an AI That Turns 2 Hours of Compliance Paperwork Into 3 Minutes — Full Architecture Teardown

A developer built an open-source AI tool that reduces compliance paperwork for financial advisors from 2 hours to 3 minutes. The system uses a four-stage pipeline with local Whisper transcription, Claude via OpenRouter for structured extraction, a rule-based compliance engine, and a CRM formatter. It focuses on detecting risk signals and suitability mismatches rather than just transcribing meetings.

read3 min views1 publishedJun 20, 2026

Financial advisors have a dirty secret: they spend almost half their working hours not advising anyone.

The culprit? Compliance documentation. After every client meeting, advisors must document what was discussed, what was recommended, whether those recommendations were suitable, and whether they followed FINRA and SEC rules — all in a format their CRM can ingest.

A 45-minute meeting routinely generates 2 hours of paperwork.

I built an open-source tool that does it in about 3 minutes. Here's exactly how — every architectural decision, every trade-off, and every line of code that matters.

When I started talking to advisory firms, I expected "meetings take too long" or "we need better CRM software." Instead, every compliance officer said the same thing:

"We're not worried about the notes. We're worried about what's NOT in the notes."

The real pain isn't documentation speed — it's the compliance gap. If a client says "I can't afford to lose this money" and the advisor recommends an aggressive growth fund, that's a FINRA 2111 suitability violation. But if the note-taker (usually the advisor, writing from memory hours later) forgets that quote? No record of the red flag.

This changed my entire system design. It's not a transcription tool with formatting. It's a compliance engine that listens for mismatches.

Four-stage pipeline:

Audio → Transcription → Structured Extraction → Compliance Check → CRM Note
         (Whisper)          (Claude via            (Rule engine)    (Formatter)
                             OpenRouter)

Stack: Python/FastAPI + React frontend + Whisper (local) + Claude via OpenRouter

Two key design choices:

Whisper runs locally. Advisory meetings contain PII and legally privileged information. Sending audio to third-party APIs isn't optional for most firms — it's a regulatory non-starter.

Compliance engine is NOT an LLM. You can't have a probabilistic system making deterministic compliance judgments. The compliance check uses hardcoded rules against structured data. The LLM's job ends at extraction.

The LLM receives raw transcript text and returns structured JSON. The critical field is risk_signals

:

"risk_signals": [
    {
      "signal": "What was said",
      "severity": "low|medium|high",
      "context": "Surrounding context"
    }
  ]

Most meeting note-takers extract topics and action items. This system specifically hunts for phrases indicating compliance risk — "I can't afford to lose this money" (risk tolerance), "my wife doesn't know about this account" (documentation issue), "just put it wherever you think is best" (discretionary authority concern).

Temperature is set to 0.1. When extracting compliance-relevant data, you don't want creative interpretation.

The simplest code in the project. That's the point.

The suitability check cross-references risk signals against product recommendations:

risk_averse_keywords = ["can't afford to lose", "conservative", "safe",
                        "no risk", "preserve capital", "nervous"]
aggressive_products = ["growth fund", "equity", "crypto", "leveraged",
                       "options", "futures", "speculative"]

if has_risk_averse and has_aggressive:
    status = "RED"
    flags.append("SUITABILITY CONCERN: Risk-averse language detected "
                 "alongside aggressive product recommendations")

Is this keyword matching? Yes. Is it sophisticated? Not really. Is it exactly what compliance officers need? Absolutely.

Output is a traffic-light system: GREEN / YELLOW / RED. This maps directly to how compliance departments already think.

The Reg BI check catches the most common examination finding:

has_alternatives = len(products) > len(recommended)
if not has_alternatives:
    status = "YELLOW"
    flags.append("Product recommended without documented alternatives")

Not glamorous. Prevents six-figure fines.

The code isn't the competitive advantage. Any competent developer can chain Whisper → LLM → rule engine.

The value is in:

That's what I do. I automate chaos — messy, manual, regulated workflows that require domain expertise on top of engineering skill.

Full codebase: github.com/archit-akg13/advisor-meeting-notetaker

I'm Archit Mittal. I build AI automation for financial services. If your team spends more time on paperwork than on the work itself, I can fix that → architmittal.com

Follow me on Twitter @automate_archit for daily AI automation tips

── more in #artificial-intelligence 4 stories · sorted by recency
── more on @whisper 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/i-built-an-ai-that-t…] indexed:0 read:3min 2026-06-20 ·