A unified lead engine that captures every DM, scores every prospect, and never sleeps.
Multi-channel lead capture and conversation system that ingests every WhatsApp and Instagram message, scores and syncs to Sheets, hunts prospects across Reddit / X / Quora / Facebook every six hours, mines real questions into a content calendar, and tracks rankings, AEO citations, schemas, and voice drafts in one pane.
- Sector
- Numerology & spiritual guidance
- Region
- India
- Role
- Solo build · end-to-end
- Timeline
- Live, ongoing

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 kept alive 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.
Live · 3,440 leadsUnified 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. Live 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.
Sheets syncLive Google Sheet — every lead row auto-synced from Postgres in 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.
Live metrics, captured before publishing.
Total leads captured · messages logged · response-time delta · prospect breakdown · conversion rate, pulled from the live dashboard, dropped in once recorded.
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.