A growth agent that tells consultants who to call next.

AHA’s growth-agent workspace: live data from every source in a private warehouse, an audit that checks each number twice, and a phone-first BI for consultants.

Role
Owner, design and data. Built with Claude Code
When
Sep – Oct 2026
Built with
Python · Supabase / Postgres · Zoho CRM API · Google Ads API · Meta Marketing API · JavaScript
Where
AHA Smart Homes
15 minData freshness
99.2%Sync runs OK
2.00× → 1.00×Meta lead count

How it helped AHA

  • Numbers that match the sourceMeta leads were counted twice and some Google spend was never stored. Both fixed: 13 weeks of Meta leads now match Meta’s own figures.
  • Wins that show upThe hottest leads, the converted ones, were hidden, and every consultant showed zero conversions. Now they count.
  • Who to call firstEach consultant’s view lists open deals with nothing logged for 7 days, furthest along first, so none goes quiet unnoticed.

The problem

  • The numbers lived in five places, were synced by hand, and rarely agreed.
  • The old copy had no phone calls, no Performance Max and no stage history, and it reported failed syncs as successes.
  • Consultants needed to know what to do next, not more charts.

What I did

  • Live pullers: Zoho leads, deals, notes and calls; Google Ads including Performance Max; Meta ad-days; call recordings into a private bucket.
  • A private warehouse: raw, then clean, then per consultant, refreshed every 15 minutes with a full re-read twice a day. Read →
  • A second-route audit: every number recomputed another way before it’s trusted. Five bugs it caught →
  • One meaning per number: metric rules written once, and a Fields & formulas panel covering 573 Zoho fields. Read →
  • A phone page for consultants: the gap to target, who to call first, and when to ask for a referral. Read →
  • A marketing tab: today against last week, leads nobody has called yet, budget left and a verdict on each Meta ad.
  • Its own CRM key: a separate Zoho token, after a shared one briefly stopped the website’s leads. Read →
  • WhatsApp demo reports: the daily and weekly reports realigned to the same consultant list.

It began as a copy of the BI layer in the growth-intelligence platform.

Results

99.2% of live syncs succeeded from 10 to 27 October, Google spend agrees with the audited figures to within 0.001%, and start-up fell from 0.69 s to 0.23 s. Next: the agent’s own daily WhatsApp report, and hosting that doesn’t depend on one PC.

Written up from this project.

All posts

Five bugs a data audit caught before anyone made a decision on them

2.00× → 1.00× Meta lead count

The shared token that switched off the website’s leads

~30 min website leads stopped, once

A 15-minute warehouse that runs on one PC

15 min refresh, while the PC is on

One meaning per number, so the screens stop arguing

54 metric formulas, one definition each

A phone page that tells consultants who to call next

7 days with nothing logged puts a deal on the list

More work.

All case studies

Layers

GIS · MapsJul – Oct 2026

Deals map

Every AHA building on one map, with plans, billboards and the calendar.

For AHAEvery building with AHA homes on one map, and billboards planned around the leads.

growth_platform · Supabase · Claude

Data platform · AIApr – Sep 2026

Growth intelligence platform

CRM, calls, ads and maps in one place, with AI agents on top.

For AHAAHA’s first single view of leads, deals and sales calls.