A lead engine that brings WhatsApp and Instagram enquiries into one follow-up view.
A multi-channel lead and conversation system that routes WhatsApp and Instagram messages, syncs lead records to Sheets, supports prospect research and content planning, and brings internal follow-up views together.
- Sector
- Numerology & spiritual guidance
- Region
- India
- Role
- Solo build · end-to-end
- Evidence
- Production dashboard capture

Unified inbox — every WhatsApp and Instagram lead in one place, sorted by activity, with totals on the dock.
01 / 05Three inboxes, no shared history, no pipeline.
Sheelaa.com receives leads across three fragmented channels, WhatsApp, Instagram DMs, and direct site enquiries. Conversations lived in three different inboxes with no shared history, no lead pipeline visibility, and no way to track what was asked, who replied, or who paid. The team was missing leads, double-replying, and had zero analytics.
They also had no top-of-funnel discovery. Every lead came from people who messaged Sheelaa first, the business was entirely dependent on inbound traffic.
One Express server, five integrated layers.
An Express server on Render exposes a catch-all webhook that platform-detects every inbound message, normalises it, and writes through to Postgres. Background loops sync every 15 minutes (platforms + Sheets) and every 6 hours (scraper).
Capture, store, surface, sync, and hunt.
Multi-platform message capture
WhatsApp via Trikon, Instagram via direct Meta Graph API, and a legacy ManyChat path maintained for backwards compatibility. All three normalise into a single messages table with a role tag, platform, and timestamp, so the team sees one history per lead, not three.
Inbox · production captureUnified inbox — WhatsApp + Instagram leads in one feed, totals on the dock.
Lead pipeline + conversation database
Postgres on Supabase with a per-lead state machine (new → welcomed → collecting_info → insight_sent → trust_sent → curiosity_sent → offer_sent → payment_sent → paid). Auto-extracts name, DOB, and email from natural-language messages.

State machine surfaces in the inbox — every lead carries its current stage.
Team dashboard
Single-page app, password-protected. Conversation view per lead, manual reply box that sends through the original platform, daily/funnel stats, prospect quality breakdown, CSV export, archive-and-cleanup tooling. Vanilla JS, ships faster than React for an internal tool.
Internal SPAThe internal SPA — comfortable / compact toggles, search, analytics drawer, sync.
Google Sheets sync
Every lead update fires a webhook to a Google Apps Script Web App. Bulk sync runs every 15 minutes in chunks of 20 with rate-limiting. The team keeps working out of Sheets, the system meets them where they already are.
Sheet · production captureGoogle Sheets view — lead rows synced from Postgres in scheduled 15-minute chunks.
Autonomous lead scraper
Searches Reddit, X, Quora, and Facebook every 6 hours for people asking about the services on offer. Three-phase pipeline: global Reddit search → targeted subreddit monitoring → Google CSE for X and Quora. A custom 0-100 relevance scorer (intent signals, location, recency, engagement, spam filters) classifies each prospect as hot / warm / cold and writes to the prospects table.
Outbound scraperProspect Finder — hot / warm / cold leads scored across four platforms.
Content Pulse — questions in, calendar out
The same scraper feed is mined for genuine questions, clustered by topic (tarot, numerology, healing, marriage, career, name correction). Each cluster gets a priority score and a calendar of pre-built content ideas. The team writes against demand instead of guessing what to publish, with a digest fired at the end of each cycle.
Content engineContent Pulse — topic clusters with priority scores and a publishing calendar.
Automated SEO & AEO
Daily Google Search Console snapshot for tracked keywords, plus a Brave-based competitor lite-rank for the same set. AEO citations tracked across Claude, Groq Whisper, and DuckDuckGo. Schemas regenerated on demand, internal linking audited, voice → blog drafts queued automatically. The dashboard is honest about timelines — head terms move in 8–12 weeks, local and long-tail in 2–4.
Search visibilitySEO & AEO — rankings, citations, schemas, and voice drafts in one pane.
What the shipped system includes.
The screenshots are captures of the client system and show its operational views. No conversion or revenue lift is claimed here.
Boring, reliable, owned.
The capabilities you'd be hiring for.
End-to-end ownership
Webhook plumbing, schema design, business logic, UI, scheduled jobs, deployment, all under one roof.
Multi-API integration
Five distinct external APIs cohabit in one cohesive system without becoming a tangle.
Pragmatic over perfect
Vanilla JS dashboard ships faster than React for a team-internal tool that two people use every day.
Autonomous loops
The scraper isn't reactive, it actively goes out and finds business while the team sleeps.
Working with non-technical clients
The Sheets sync exists because the team lives in Sheets. Meet people where they are.