Skip to Content
Leadmetrics v3 — Build Roadmap

Leadmetrics v3 — Build Roadmap

Last updated: April 2026
Based on: docs/product-features/index.md · docs/missing-incomplete-features/ · docs/new-features/
Sprint size: 2 weeks · Assumed team: 2 full-stack engineers + 1 AI/ML engineer (unless noted)


How to read this

  • Phases are sequential — later phases depend on earlier ones being stable.
  • Items within a phase can run in parallel across engineers.
  • Sprint estimates are rough. Complex integrations (WhatsApp, Shopify, DataForSEO) will expand; UI-only work will compress.
  • Each item links to its detailed spec in the features index or gap doc.
  • ⚠️ markers call out decisions or external dependencies that need resolution before the sprint starts.

Phase 0 — Production Stability

Duration: Sprints 1–3 · ~6 weeks
Goal: Fix all 14 🔴 blocking issues. Nothing new ships until these are resolved — the core campaign → agent → approval → publish loop is currently broken end-to-end.

P0 Build Sequence (ordered by unlock value)

#ItemImpactSprintReference
P0-1Real-time agent status — Socket.IO BullMQ bridgeUsers see blank screens during agent runs1docs/missing-incomplete-features/real-time-agent-status.md
P0-2Notification hub — Redis Pub/Sub (replace non-existent HTTP hub)Bell badge never updates1docs/missing-incomplete-features/notification-hub-sse-service.md
P0-3Social post platform publishing — wire FB/IG/LinkedIn providers after approvalAgents write posts that go nowhere1–2docs/missing-incomplete-features/social-post-platform-publishing.md
P0-4CMS publishing — WordPress/Webflow auto-publish after blog approvalBlog pipeline terminates at approval2docs/missing-incomplete-features/cms-publishing.md
P0-5Email newsletter delivery — Mailchimp/Klaviyo send after Email Writer approvalNewsletter pipeline terminates at approval2docs/missing-incomplete-features/email-newsletter-delivery.md
P0-6Campaign orchestration — Campaign Strategist agent (decomposes briefs → delegates to workers)The top-level “run a campaign” flow doesn’t exist2–3docs/missing-incomplete-features/campaign-orchestration.md
P0-7Hardcoded connected channels — replace ["facebook","linkedin","instagram"] with DB queryWrong channels used in every deliverable plan1docs/missing-incomplete-features/hardcoded-connected-channels.md · apps/api/src/routers/tenant/main.ts:268
P0-8Agent plan gating — apply plan-tier check (TODO at line 55)All tenants see all agents regardless of plan1docs/missing-incomplete-features/agent-plan-gating.md · apps/api/src/routers/tenant/main.ts:55
P0-9Free plan seed — define + seed the free plan in DBUnsubscribed tenants get Starter access indefinitely1docs/missing-incomplete-features/free-plan-limits.md
P0-10Scheduler missing task types — monthly cycle, billing, keyword snapshot crons8 of 11 scheduler task types don’t exist2docs/missing-incomplete-features/scheduler-missing-task-types.md
P0-11Activity templates steps schema — define the undefined steps schema (OQ-4)Activity templates silently broken2docs/missing-incomplete-features/activity-templates.md
P0-12Razorpay webhook signature bypass — enforce verification when secret is unsetForged payment events accepted in production1docs/missing-incomplete-features/razorpay-webhook-signature-bypass.md
P0-13Credit race condition — add SELECT FOR UPDATE row lock to reserveCredits()Concurrent agent runs can double-spend credits1docs/missing-incomplete-features/credit-race-condition.md
P0-14BillingJobData test type mismatch — add jobId + manual fieldsEntire monorepo build currently broken1docs/missing-incomplete-features/billing-type-mismatch-bug.md

P0-14 should be fixed before any other work — it blocks the build.
P0-1, P0-2, P0-7, P0-8, P0-9, P0-12, P0-13 can all be parallelised in Sprint 1.
P0-3, P0-4, P0-5 follow once the publishing framework (P0-1) is confirmed stable.
P0-6 is the most complex item; P0-3/4/5 are its prerequisites.


Phase 1 — Pre-Launch Hardening

Duration: Sprints 4–7 · ~8 weeks
Goal: Close the 21 🟡 pre-launch gaps. Required before onboarding any paying tenant.

#ItemAreaSprintReference
P1-1Email verification — verification email + endpoint + access gateAuth4docs/missing-incomplete-features/email-verification-missing.md
P1-2JWT revocation — token blocklist on logoutAuth4docs/missing-incomplete-features/stateless-jwt-no-revocation.md
P1-3Razorpay payment failed — notify tenant + set invoice statusBilling4docs/missing-incomplete-features/payment-failed-no-notification.md
P1-4Subscription cancellation cleanup — freeze tenant, lock credits, send notificationBilling4docs/missing-incomplete-features/subscription-cancellation-cleanup.md
P1-5Overage billing — usage-based charges when Pro cap exceeded (OQ-12)Billing5docs/missing-incomplete-features/overage-billing.md
P1-6OAuth token key rotation — AES-256-GCM key rotation process (OQ-18)Security5docs/missing-incomplete-features/oauth-token-key-rotation.md
P1-7Document security scanning — magic-byte + AV check before Docling extraction (OQ-17)Security5docs/missing-incomplete-features/document-security-scanning.md
P1-8Twitter/X channel detail pageDashboard UI5docs/missing-incomplete-features/twitter-zoho-channel-detail-pages.md
P1-9Zoho channel detail pageDashboard UI5docs/missing-incomplete-features/twitter-zoho-channel-detail-pages.md
P1-10Performance reporting dashboard — client-facing report viewerDashboard UI6docs/missing-incomplete-features/performance-reporting-dashboard.md
P1-11Report delivery — push to Slack, Notion, Google Drive after approvalIntegrations6docs/missing-incomplete-features/report-delivery-integrations.md
P1-12Notifications app (apps/notifications) — push + email alertsInfrastructure6docs/missing-incomplete-features/notifications-app.md
P1-13TikTok publishing — wire tiktok-post-writer.worker.ts to TikTok APIPublishing6docs/missing-incomplete-features/tiktok-gbp-publishing.md
P1-14GBP post publish — wire GBP post approval to Google Business Profile APIPublishing6docs/missing-incomplete-features/tiktok-gbp-publishing.md
P1-15AI chat token management — token counting, history trimming, context window guardAI Chat7docs/missing-incomplete-features/ai-chat-token-management.md
P1-16AI chat executor subagent — build the 16 executor tools (partial, most critical 6 first)AI Chat7docs/missing-incomplete-features/ai-chat-executor-subagent.md
P1-17RAG Qdrant health check — startup check + Docker healthchecksInfrastructure7docs/missing-incomplete-features/rag-qdrant-health-check.md
P1-18Mobile push notifications — FCM registration + deliveryMobile7docs/missing-incomplete-features/mobile-push-notifications.md
P1-19Tenant storage cleanup — delete Spaces files on deactivation/cancellationInfrastructure7docs/missing-incomplete-features/tenant-storage-cleanup.md
P1-20Lead scoring — basic scoring model + nurture sequencesCRM7docs/missing-incomplete-features/lead-scoring-nurture.md
P1-21Queue monitoring UI — cross-tenant BullMQ visibility in Manage portal (OQ-2)Manage7docs/missing-incomplete-features/queue-monitoring-ui.md

Phase 2 — Core Value Loop Completion

Duration: Sprints 8–10 · ~6 weeks
Goal: Make the full campaign lifecycle work end-to-end with no manual gaps.

#ItemNotes
P2-1Content calendar auto-scheduling — AI selects optimal post timesFeeds into deliverable planner · docs/new-features/content-calendar-auto-scheduling.md
P2-2Content repurposing agent — transform blogs → social → email → newsletterHigh-leverage: 1 piece of content → 5 deliverables · docs/new-features/content-repurposing.md
P2-3A/B ad variant generation — Google RSA + Meta ad variantsdocs/missing-incomplete-features/a-b-ad-variants.md
P2-4White-label client portal — custom domain + logo for client-facing dashboardKey for agency sales · docs/new-features/white-label-client-portal.md
P2-5Brand voice scoring — evaluate content against client brand voice profiledocs/new-features/brand-voice-scoring.md
P2-6Audience personas & personalisation — persona-aware content generationdocs/new-features/audience-personas-personalization.md
P2-7Webhook + Public API — allow tenants to integrate Leadmetrics with their own toolsdocs/new-features/webhook-public-api.md
P2-8Multi-language content — Hindi/Tamil/Telugu/Arabic at minimumdocs/new-features/multi-language-localization.md

Sprint 8: P2-1, P2-2, P2-5 (all content pipeline enhancements)
Sprint 9: P2-3, P2-6, P2-8 (content quality + internationalisation)
Sprint 10: P2-4, P2-7 (platform + API surface)


Phase 3 — Marketing Automation Foundation

Duration: Sprints 11–16 · ~12 weeks
Goal: Build the automation engine — the most critical competitive gap vs. HubSpot, ActiveCampaign, Klaviyo.

This is the largest engineering effort in the roadmap. It unlocks almost every subsequent eCommerce and India-specific feature.

3.1 Automation Workflow Engine (Sprints 11–13)

ItemPriorityNotes
Visual workflow builder (drag-and-drop)🔴 Table-stakesTrigger → filter → action canvas; see §17.1
Trigger library🔴Contact created, email opened, form submitted, URL visited, tag added, date-based
Action library🔴Send email, send WhatsApp, add tag, update contact property, enroll in sequence, assign to owner
Branch/filter logic🔴If/else branching, wait steps, time-delay steps, goal steps (exit on conversion)
Sequence / Drip builder🔴Step-based email sequences with reply detection and goal exit
Pre-built automation templates🟡Welcome series, lead nurture, re-engagement, post-event follow-up

3.2 Segmentation & Audience Builder (Sprint 14)

ItemPriorityNotes
Visual segment builder🔴Demographic + behavioural + transactional conditions; AND/OR logic
Segment AI (natural language → segment)🟡“Contacts who bought in last 30 days and are in Mumbai”
Dynamic segment recalculation🔴Segments update as contact properties change
Segment-based automation enrollment🔴Entering a segment triggers a workflow

3.3 Attribution & Revenue Measurement (Sprints 15–16)

ItemPriorityNotes
UTM link management🔴Auto-generate + track UTM parameters across all campaigns
Multi-touch attribution engine🔴All 6 models: First Touch, Last Touch, Linear, Time Decay, U-shaped, Data-Driven ML
Revenue attribution dashboard🔴£/₹ per channel; requires CRM deal or eCommerce order sync
Form builder🔴Drag-and-drop, conditional logic, multi-step; creates Leads; embeds on client sites
Social listening🔴Brand mention monitoring across Twitter/X, Reddit, news
Multi-channel marketing dashboard🔴Unified view: email, social, WhatsApp, ads, SEO performance

Phase 4 — WhatsApp & India eCommerce

Duration: Sprints 17–20 · ~8 weeks
Goal: Capture the Indian market. WhatsApp is the single largest competitive gap for India.

⚠️ Decision required before Sprint 17: Choose BSP provider — Interakt (SMB/eCommerce), Kaleyra (enterprise volume), or Gupshup (broadest coverage). WABA setup through BSP takes ~3–5 business days vs. 4–8 weeks direct via Meta.

#ItemPriorityNotes
P4-1WhatsApp provider abstraction — BSP wrapper in packages/providers/whatsapp/🔴Abstract over Gupshup/Interakt/Kaleyra; no app code change if BSP swaps
P4-2WhatsApp broadcast campaigns — segment-targeted messages with HSM templates🔴Festival templates included; wire to automation engine from Phase 3
P4-3WhatsApp automation flows — welcome, abandoned cart, post-purchase, re-engagement🔴Reuse automation engine from Phase 3; WhatsApp = channel alongside email
P4-4COD order tracking flows — confirmation, delivery attempt, COD-to-prepaid conversion🔴 IndiaIntegrate with Shiprocket for delivery status
P4-5Festival campaign engine — pre-built templates + calendar-aware scheduler🔴 IndiaDiwali, Navratri, Holi, Eid, Big Billion Day; 2-week advance reminder
P4-6DPDP Act compliance — consent capture, purpose limitation, data deletion workflow🔴All India-deployed tenants; 30-day deletion SLA
P4-7GDPR compliance — lawful basis, right to erasure, data portability, DPA template🔴All global clients
P4-8Regional language content — Hindi/Tamil/Telugu minimum in agent prompts🟡Festival campaigns in regional languages have 2–3× higher engagement in Tier 2/3 cities
P4-9WhatsApp product catalog + commerce — catalog sync, WhatsApp Cart, UPI payments🔴Requires Shopify integration from Phase 5 for catalog sync
P4-10UPI payment links in WhatsApp + email — Razorpay/Paytm payment link API🟡One-tap payment for service businesses (clinics, salons, coaching)
P4-11BNPL messaging integration — ZestMoney/LazyPay/Simpl checkout abandonment flows🟡Surface BNPL option in cart abandonment messages
P4-12Justdial + IndiaMart lead import — auto-import enquiries into Lead pipeline🟡Primary B2B inbound sources for Indian SMBs

Phase 5 — eCommerce Platform Integrations

Duration: Sprints 21–25 · ~10 weeks
Goal: Shopify-first native integration, then WooCommerce. Unlocks the full eCommerce automation stack.

⚠️ Decision required before Sprint 21: Confirm which eCommerce platform most clients use — Shopify (global), WooCommerce (India self-hosted), or Indian platforms (Dukaan/Instamojo). Build Shopify first if global clients are the near-term target; WooCommerce first for Indian SMB focus.

#ItemPriorityNotes
P5-1Shopify integration — product catalog, orders, customers sync🔴New packages/providers/shopify/; Shopify OAuth + Webhooks
P5-2WooCommerce integration — REST API sync for WordPress-hosted stores🔴Append to existing packages/providers/wordpress/
P5-3Abandoned cart + browse abandonment flows🔴Wire Shopify cart events to automation engine from Phase 3
P5-4Back-in-stock + price drop alerts🔴Inventory webhook from Shopify → segmented notify
P5-5Post-purchase full sequence🔴Order confirm → ship → deliver → review request → cross-sell → win-back
P5-6Win-back / re-engagement flow🔴60/90/180-day lapsed buyer detection; configurable per client
P5-7Welcome series🔴First purchase or email opt-in trigger; 40–60% open rate
P5-8RFM segmentation — auto-compute Recency/Frequency/Monetary per contact🔴Add rfmScore, rfmSegment to Contact model
P5-9CLV prediction — ML model, weekly retraining🔴Add predictedClv, clvTier to Contact model
P5-10Product review collection — automated request flow + moderation + JSON-LD🔴Email + SMS + WhatsApp review requests; structured data for Google rich results
P5-11AI cross-sell/upsell engine — ML product recommendations🔴Real-time inference; surface in post-purchase emails, cart recovery
P5-12Google Shopping product feed — Merchant Center submission + campaign management🔴Extend packages/providers/google/src/google-ads.ts
P5-13Dynamic retargeting ads — show viewed products on Google Display + Meta🔴Product feed + pixel → dynamic creative assembly
P5-14Indian eCommerce platforms — Dukaan, Instamojo, Shiprocket integrations🟡Dukaan/Instamojo for catalog; Shiprocket for logistics tracking
P5-15Churn risk + ENDO prediction🟡90-day churn probability; expected date of next order; fire win-back at high-risk threshold
P5-16Wishlist abandonment flow🟡Time-based reminder + price-drop + low-stock notification
P5-17Replenishment / subscription reminder🟡Predict next purchase date for consumable products

Phase 6 — DataForSEO-Powered SEO Suite

Duration: Sprints 26–30 · ~10 weeks
Goal: Full SEO intelligence layer. Competes with AgencyAnalytics, Semrush for agency reporting.

⚠️ Pre-sprint validation required: Test 100+ India vernacular keywords (Tamil, Hindi, Kannada) against DataForSEO vs. Semrush API before starting. If DataForSEO quality is insufficient for regional queries, architect a hybrid (DataForSEO global + Semrush vernacular) before building the UI layer.

#ItemPriorityNotes
P6-1Rank tracking UI — daily position tracking, history chart, alerts🔴Add KeywordRanking table; GET /tenant/v1/seo/rankings endpoint; /seo/rankings page
P6-2Keyword research within content briefs — live data from DataForSEO🔴Wire into content-brief-writer.worker.ts and /content-briefs UI
P6-3Keyword gap / content gap analysis — client vs. competitors🔴Auto-generate ContentBrief from gap items; /seo/keyword-gap page
P6-4Technical SEO audit UI — surface site-auditor.worker.ts results🔴Worker exists, no UI; add SiteAuditReport model; /seo/site-audit page
P6-5SERP feature tracking — featured snippets, PAA, local pack🟡Alert on gain/loss of rich results
P6-6Competitor organic traffic estimation🟡Monthly organic traffic estimates for up to 5 competitor domains
P6-7Local SEO + citation management — 50+ directory listings; NAP consistency🟡Critical for Indian brick-and-mortar + service-area businesses
P6-8AI search visibility — brand mentions in ChatGPT/Perplexity/AI Overviews🟡Extends existing §6.2 AI visibility feature; DataForSEO AI Optimization Data API
P6-9Google Shopping product intelligence — competitor pricing + feed health🟡DataForSEO Merchant API
P6-10Surfer-style content editor — real-time SEO scoring as user types🟡TF-IDF term density + content brief coverage gauge inline in editor

Phase 7 — Customer Data Platform (CDP) & Unified Profiles

Duration: Sprints 31–35 · ~10 weeks
Goal: First-party data ownership. Critical post-third-party-cookie deprecation.

#ItemPriorityNotes
P7-1First-party event tracking pixel — JS pixel + server-side event API🔴Page views, product views, add-to-cart, purchase, form; privacy-first (no third-party cookies)
P7-2Unified customer profile — single view across purchase, email, WhatsApp, web🔴Aggregate all events per contact; profile enrichment UI on contact detail page
P7-3Consent management — GDPR + DPDP cookie consent banner + per-contact preferences🔴Respects consent on every send operation; DPA template for B2B clients
P7-4Identity resolution — stitch anonymous sessions to known contacts🟡Merge profiles on identification event (form fill, email click, WhatsApp opt-in)
P7-5UGC collection + shoppable display — aggregate customer photos/videos + shoppable gallery🟡Instagram hashtag + tag aggregation; rights management
P7-6Performance Max campaigns — full multi-surface Google campaign🟡Asset groups + product feed; extend packages/providers/google/src/google-ads.ts

Phase 8 — CRO & Personalisation

Duration: Sprints 36–40 · ~10 weeks
Goal: Improve conversion rates on client landing pages and email/WhatsApp campaigns.

#ItemPriorityNotes
P8-1A/B testing engine — email subjects, send times, body variants, full paths🔴Sequential likelihood ratio (no-peeking); auto-winner selection; sample size calculator
P8-2Heatmaps + session recordings — click/scroll heatmaps + rage-click detection🟡On AI-generated landing pages; builds quality feedback loop for landing-page-writer agent
P8-3Funnel analysis — drop-off stages in multi-step flows🟡Landing page → form → checkout; segmented by traffic source and device
P8-4MVT (multivariate testing) — test combinations of multiple page elements🟡Interaction analysis; more efficient than sequential A/B tests
P8-5On-page personalisation engine — dynamic content by visitor attributes🟡New vs. returning, traffic source, geo, device, CRM segment
P8-6AI test recommendation — auto-suggest experiments from heatmap + recording data🟡“30% drop-off at pricing section — test moving it below testimonials”

Phase 9 — Differentiators & Growth Loops

Duration: Sprints 41–48 · ~16 weeks
Goal: Features that create switching costs, viral loops, and deep client retention.

9.1 Loyalty & Retention (Sprints 41–43)

ItemPriorityNotes
Points-based loyalty program🟡Earn on purchase, review, referral, social share; tiered (Bronze–Platinum); redemption as discount codes
Referral program🟡Unique links per customer; dual-sided incentives; anti-fraud; wire to email/WhatsApp flows
Subscription commerce support🟡Dunning management; pause/skip/swap; churn prevention portal
Gamification / spin-to-win pop-ups🟢3–5× opt-in rate vs. standard discount pop-ups

9.2 ABM & B2B Features (Sprints 44–46)

⚠️ Decision required: Confirm whether B2B agencies are a target segment. If yes, upgrade all ABM items to 🔴 Table-stakes and prioritise before Phase 9.

ItemPriorityNotes
Company/Account model + grouping🟡→🔴Account model; link Contact + Lead to account; account engagement score
LinkedIn outreach sequences🟡→🔴Multi-touch LinkedIn connection + message sequences; wire to packages/providers/linkedin/
Deal-stage content mapping🟡→🔴TOFU/MOFU/BOFU content auto-suggestion based on CRM deal stage
CRM deal sync🟡→🔴Zoho CRM (India), HubSpot, Salesforce bi-directional deal stage sync
Intent data integration🟡Bombora / G2 intent signals; “surging accounts” view
Company-level attribution🟡→🔴Credit content touchpoints to deal revenue at account level

9.3 Influencer & Social Proof (Sprints 47–48)

ItemPriorityNotes
Influencer discovery + outreach🟡Discovery by niche/audience size/engagement rate; outreach via email + DM
Influencer campaign management🟡Brief → draft → approval → publish; performance tracking (CPE, reach, sales)
Employee advocacy module🟡Branded content library employees share to personal social accounts
NPS & customer satisfaction surveys🟡Trigger post-purchase or post-interaction; wire to automation enrollment

Phase 10 — Expansion (Post Year 1)

Features that are valuable but not required for market entry or retention.

ItemPriorityNotes
Incrementality testing🟢Holdout experiments; geo-split or randomised groups; true causation vs. correlation
Programmatic SEO🟢Template-driven pages at scale from structured data
Pinterest integration🟢Product pin publishing + Pinterest Analytics
RCS messaging🟢Rich Communication Services as WhatsApp alternative on Android
Webinar & event marketing🟢Zoom/Teams registration flows, attendee nurture, recording repurposing
YouTube content publishing🟢Wire video-script-writer.worker.ts to YouTube API for upload + metadata
Bing Webmaster Tools integration🟢Bing-specific rank tracking and submission
Tenant storage cleanup (deactivated tenants)🟢Delete Spaces files on cancellation; docs/missing-incomplete-features/tenant-storage-cleanup.md

Summary Timeline

PhaseFocusSprintsWeeksCumulative
0Production stability (14 blocking issues)366 weeks
1Pre-launch hardening (21 pre-launch issues)4814 weeks
2Core value loop completion3620 weeks
3Marketing automation foundation61232 weeks
4WhatsApp & India eCommerce4840 weeks
5eCommerce platform integrations51050 weeks
6DataForSEO SEO suite51060 weeks
7CDP & unified profiles51070 weeks
8CRO & personalisation51080 weeks
9Differentiators & growth loops81696 weeks
10ExpansionongoingYear 2+

Year 1 realistic scope (2 engineers): Phases 0–5, with Phase 3 (automation engine) running in parallel with Phase 4 (WhatsApp). This delivers: a stable platform, complete publish loop, WhatsApp marketing for India, Shopify integration, and basic eCommerce automation flows. Phases 6–9 slot into Year 2.


Open Decisions (Required Before Sprints)

DecisionRequired byOptionsImpact
WhatsApp BSP choiceSprint 17Interakt (SMB/eComm), Kaleyra (enterprise), Gupshup (coverage)Affects WABA approval timeline and pre-built template availability
eCommerce platform prioritySprint 21Shopify (global), WooCommerce (India self-hosted), Dukaan (Indian SMB)Determines which integration ships first and which eCommerce features are available first
DataForSEO India keyword qualitySprint 26DataForSEO-only, hybrid with Semrush, SE RankingDetermines architecture of keyword data layer
B2B vs. B2C client splitASAPB2C/eCommerce focus, B2B/agency focus, or bothDetermines whether ABM is Phase 3 or Phase 9; whether deal pipeline is table-stakes
CRO tooling approachSprint 36Build in-house, embed Microsoft Clarity (free), integrate Hotjar/VWO via iframeBuild vs. buy decision affects sprint estimate significantly

References: docs/product-features/index.md · docs/missing-incomplete-features/ · docs/new-features/ · April 2026

© 2026 Leadmetrics — Internal use only