Beforehand Leads
← Back to home
Case study

Money-in-Motion dashboard

A prospecting dashboard that turns Massachusetts public records into a ranked list of people likely to need a financial advisor.

Built for a financial advisor at a national wealth management firm.

public-record sources
9
by a practicing advisor
In use
monthly hosting, on free tiers
$0
to build, part-time
~2 months

The problem

Advisors win clients at life events: a stock sale, a layoff, an inheritance, a divorce, a home sale. Each of those is recorded publicly, but spread across SEC filings, court dockets, deed registries, and state agency sites, each in a different format. Checking them by hand every week isn't realistic.

What we built

  • Scrapers and imports pull nine sources: SEC Form 4 and Form D filings, WARN layoff notices, probate and divorce filings, real estate transfers, new business formations, professional licenses, and charitable organization filings.
  • A Python pipeline cleans and standardizes names, dates, dollar amounts, and locations, then validates and tags every record.
  • Records are matched to the people and companies behind them and ranked, so the advisor sees who to contact first and why.
  • A searchable dashboard with login, filters, a map view, and a detail page for every record.

The result

The advisor replaced checking court, SEC, and state websites by hand with one prioritized list, each prospect showing the event that put them there.

Infrastructure and cost

  • Collection and cleaning run locally: a Python pipeline and a Postgres database on one machine.
  • Cleaned records sync to Supabase, and the dashboard is hosted on Vercel. Both stay on free tiers at this volume, so costs only start as data grows.
  • OpenAI embeddings power search, the only usage-based cost.
  • Built in about two months, part-time.

Built with

  • Python
  • PostgreSQL
  • Supabase
  • React
  • TypeScript
  • OpenAI embeddings
← Back to home