Back to projects
Case Study

AdvisorChoice

AI-powered life event detection for financial advisors. NLP pipeline monitors 8+ public data sources and surfaces actionable alerts.

The Problem

Financial advisors manage hundreds of client relationships but have no systematic way to track life events — job changes, property sales, retirements, SEC filings, business formations — across public data sources. They rely on manual Google searches or miss opportunities entirely, leading to delayed outreach and lost revenue.

The Solution

I built AdvisorChoice: a full-stack platform that automatically ingests, analyzes, and surfaces client life events as an actionable alert queue.

1. Data Ingestion

The backend crawls 8+ public sources — DuckDuckGo, Google News RSS, SEC EDGAR, property filing databases, business registrations, and press releases — for each client in the advisor's portfolio.

2. NLP Pipeline

Raw HTML is cleaned via BeautifulSoup, then passed through a spaCy NER model that extracts persons, organizations, locations, dates, and amounts. A rule-based classifier detects 21 event types using keyword matching.

3. Fuzzy Client Matching

Extracted entities are matched against the advisor's client list using Levenshtein distance across three confidence tiers: Tier 1 (Name + Employer + Location), Tier 2 (Name + Employer or Location), Tier 3 (Name only). A composite confidence score (0–100%) combines keyword strength, entity clarity, and source reliability.

The Advisor Dashboard

Advisors log in to a clean alert queue where they can filter by event type, confidence level, and date range. Each alert shows the detected event, matched client, and confidence breakdown.

Clicking into an alert reveals the full evidence: source text, extracted entities, match tier, confidence score breakdown, and the client's profile. Advisors can approve, dismiss, snooze (1–90 days), or flag as “not my client.”

AdvisorChoice alert detail with match qualityClick to view full size

Key Features

  • Automated ingestion from 8+ public data sources on a per-client basis
  • spaCy NER entity extraction (persons, orgs, locations, amounts)
  • 21 event type classification with keyword-based rules
  • 3-tier fuzzy matching with composite confidence scoring
  • Alert queue with filtering, pagination, bulk actions, and snooze
  • CSV client import with CRM integration support (Wealthbox)
  • Full audit trail — every view, approval, and dismissal is logged
  • Compliance-aware — consent tracking, row-level security, magic link auth

Impact

8+
Data sources monitored
21
Event types detected
3-tier
Confidence scoring
100%
Audit trail coverage

Tech Stack

React 18TypeScriptViteshadcn/uiTailwind CSSFastAPIPythonspaCy 3.7BeautifulSoup4SupabasePostgreSQLRedisAWS AmplifyElastic BeanstalkDocker

Want something like this built for your business?

Hire Me on Upwork