(Case study · 02)
Pitwall
Indian dealers spend lakhs a month on Meta lead ads. The money is gone the moment a form is filled in, and what happens in the next hour decides whether it was worth it. Pitwall makes that first minute automatic and every minute after it accountable: a WhatsApp reply in under a minute, one salesperson who owns the lead, and the outcome sent back to Meta.
A self-initiated product. Pitwall has no customers yet, so no results are claimed; the dealership, people and figures in the screens are written for the product, not real records.
(Why I built this)
What happens to a dealership lead between the ad and the salesperson?
Indian car and two-wheeler dealers pay for Meta lead ads every month. The money is spent the moment someone fills in a form.
What happens in the next hour decides whether it was worth it. A reply three hours late, a lead left in a WhatsApp group, a salesperson who never calls back.
And because Meta never learns who actually bought, it keeps finding more people who only fill in forms. I wanted the first minute to be automatic and every minute after it accountable.
(The problem)
Where a lead goes missing
Workflow reconstruction · following one lead from the ad form to delivery
- Meta lead ads
- Walk-in
- Phone
- Form filledThe reply comes three hours later
- First replyLost in a WhatsApp group
- OwnerNobody is clearly responsible
- Call backThe salesperson never calls
- Test driveNobody records that it happened
- DeliveryMeta never learns who bought
(What I looked at)
What I wanted to understand
Before I designed a screen, I followed one lead from the ad form to delivery. The category scan below is retrospective, written for this case study in October 2026 from public material.
- Meta's Conversions API for CRM
- What does Meta need to optimise for buyers instead of form fills? Lead stages sent back from the CRM, starting with the raw lead.1
- WhatsApp Business Platform rules
- What may a dealership send, and when? Approved templates outside the 24-hour window, and permission from the customer.2
- Dealership CRMs in India
- What do dealers already buy? See the scan.
| Category | Example | What its public material centres on | What I chose to centre |
|---|---|---|---|
| Dealership CRMs | TeleCRM, Groweon | Pulling leads from every channel, follow-up reminders, test-drive management, WhatsApp and calling3 | One policy for every outbound message, and Meta told which leads bought |
| WhatsApp inbox | Interakt | A shared inbox where chats are assigned and reassigned4 | The chat sits inside one customer record, from enquiry to insurance renewal |
| General CRM | HubSpot | Rotating owners through workflows; custom deal stages5 | A dealership's own stages, built in rather than configured |
The dealership CRM sources are vendor-written guides, so their claims are the vendors' own. Sources are listed at the end of the page.
(What changed because of it)
Finding, decision, screen
Each one is visible in the product
Meta optimises for whatever it's told counts as success.
Send contacted, visited, test drive, booked and delivered back to Meta, once each, with a hashed phone number.
Conversions to Meta
An automatic reply that quotes a price makes a promise nobody checked.
The automatic reply never quotes a price, EMI or insurance figure. Those go to a person with a verified quotation.
WhatsApp replies
A lead in a group chat belongs to nobody.
One salesperson owns each lead. A person can take over from the automation, and internal notes never reach the customer.
Shared inbox
An owner's morning starts with what's on fire.
Today opens on problems first, then follow-ups due, then approvals.
Today
(Information architecture)
One record, every role
Twelve areas share one customer record, so a person's enquiry, test drive, finance, delivery and insurance renewal live in one place.
The navigation follows a dealership's day: run it, look after customers, sell, grow, then look back. These are the product's real sections.
Pitwall
- Run the day
- Today
- AI Manager
- Customers
- Leads and customers
- Showroom
- WhatsApp: inbox · campaigns · templates · connection
- Sell
- Inventory
- Sales, finance and delivery
- Insurance
- Grow
- Marketing and content
- Service and retention
- Insight
- Reports
- Team and settings
Each role sees only what it needs
- Owner Today, approvals, reports, cost per test drive
- Salesperson Own leads, follow-ups, WhatsApp
- Receptionist Showroom visits and walk-ins
- Accounts Finance, payments, delivery
(Flows)
Four journeys the product has to get right
01 · New lead
- Meta form
- WhatsApp reply in under a minute
- One owner
- Call
- Showroom visit
- Test drive
- Booked
- Delivered
02 · Every message
- Draft
- Permission for this purpose?
- Not 9 pm to 9 am
- Under the weekly limit
- No open complaint
- Sent, or held
03 · Payment
- Payment link sent
- Customer pays
- Signed webhook
- Exact amount confirmed
- Marked paid
04 · Back to Meta
- Stage reached
- Sent once
- Hashed phone number
- Meta learns who buys
(Rules)
What the product will never do on its own
Most of Pitwall's character is in what it refuses to automate. Every outbound message passes one communication policy, and money is never assumed.
Always automatic
- A WhatsApp reply in under a minute
- One owner for every lead
- Follow-ups that come due
- Stages sent back to Meta
Integrations built
- WhatsApp Cloud API
- Meta Lead Ads
- Meta Conversions API
- Razorpay, with signed webhooks
- SMS sign-in
Never automatic
- Quoting a price, EMI or insurance figure
- Messaging between 9 pm and 9 am
- Promotions to someone with an open complaint
- Calling a payment link paid
(Structure)
Problems first, then the work
The Today screen is ordered by what costs money if it waits: failures and complaints at the top, then the numbers, then the follow-ups that are due, then what's waiting for approval.
Drawn for this case study, after the fact. They show the structure, not original working files.
(Values)
What I refused to compromise
Ownership is obvious
Every lead has one salesperson's name on it. A group chat isn't an owner.
Less admin, not more
The first reply, the reminders and the Meta events happen on their own, so salespeople sell.
Context stays together
One customer record from the first enquiry to the insurance renewal. Internal notes never leak into the chat.
Money is never assumed
A payment link sent is not a payment until the signed webhook confirms the exact amount.
Workflow before dashboard
I followed one lead from the ad form to delivery before I designed a single screen.
(Mood board)
Signal orange on a night sidebar
The brand is one signal orange and a heavy grotesk. Inside the product, colour is for state: a pink wash for something failing, amber for a warning, red for overdue, green for live.
Colours sampled from the product's own screens and brand plate
- Signal orange
#FA7217 - Night
#0C1323 - Action
#0D7B6B - Ink
#121421 - Surface
#F5F5F5 - Overdue
#9F2C25 - Failure wash
#FEECEB - Live
#01784B




- Showroom-floor fast
- Accountable
- Hinglish, as people type it
- Loud only when it matters
(What I built)
A sales operations system around one customer record
I built Pitwall on my own: the product, the brand and the website as one system. A web app with twelve areas on one customer record and a phone view for the showroom floor, plus a scroll-story landing page with a payback calculator.
- WhatsApp reply in under a minute
- One owner per lead
- Today: problems first
- Shared WhatsApp inbox
- Customer 360
- Stages back to Meta
- Signed payment webhooks
- Payback calculator
- The Pitwall brand
The screens
A WhatsApp CRM for car and two-wheeler dealers: every new enquiry gets a reply in under a minute, one salesperson owns it, and Meta learns which leads actually bought.
(Up close)
The decisions, on the screen
12345- Problems before anything else: a failed WhatsApp message comes first
- The complaint rule, in plain words: promotions are blocked
- Follow-ups due turn red when they pile up
- Overdue says how long, on every row
- Approvals have their own column, even when empty
123456- "Window closed: templates only", WhatsApp's rule made visible
- A person can take over from the automation
- Consent, per purpose, on the customer
- The composer explains why only a template can go out
- Internal notes are separate from replies
- "Needs a person" is its own filter
(System)
How it fits together
Pitwall runs on Node.js and SQLite with no runtime dependencies to patch in production. Every message, every payment and every event to Meta goes through one place where the rules live.
Simplified · drawn for this case study
- Lead sourcesMeta lead ads · WhatsApp · walk-in · phone
- Customer recordTwelve areas, one record per person
- PolicyPermission · quiet hours · weekly limits · complaints
- WhatsAppOfficial Cloud API, approved templates
- PaymentsRazorpay, confirmed by signed webhook
- MetaConversions API, each stage once
- Node.js · SQLite · JavaScript
- No runtime dependencies
- Roles: owner · salesperson · receptionist · accounts
- SMS sign-in
- WebGL landing page
(States)
Beyond the happy path
- A price questionThe automatic reply never answers it. A person sends a verified quotation.
- Message at 10 pmHeld until 9 am.
- An open complaintPromotions to that customer are blocked until it's resolved.
- The 24-hour window closesOnly an approved template can go out, and the composer says so.
- A message failsIt's the first thing on Today.
- Payment link sentNot paid until the signed webhook confirms the exact amount.
- A person takes overThe automation steps back; notes stay internal.
- Stock sits too longVehicles in stock over 90 days are flagged.
(Testing)
Tested like it handles money
Because Pitwall touches payments, customer messages and ad spend, I tested it like a payments product, and ran two internal security review rounds before calling it done.
- Automated tests
- 83
- Internal security reviews
- 2 rounds, 113 checks
- Data in the screens
- Written for the product, no real customers
(What I learned)
Pitwall taught me that the hard part of a CRM isn't the screens. It's the rules. Once every message passes one policy, the product can move fast without ever saying something it shouldn't.
(Sources · checked October 2026)
- Meta for Developers, Conversions API for CRM integration: developers.facebook.com
- Meta for Developers, WhatsApp template categorisation: developers.facebook.com; opt-in practice: 360dialog docs
- Dealership CRM guides (vendor-written): TeleCRM, Groweon
- Interakt help, shared team inbox: interakt.shop
- HubSpot Knowledge Base, rotating record owners: knowledge.hubspot.com
Need something like Pitwall?
Tell me what you want to build. I'll reply with how I'd build it, a rough timeline and a cost range. Free, and no obligation.
Next project
AutoJobs