01Status
Prototype. A local JavaScript demo, tested against six scenario payloads; the integrations were never connected.
02Context
I designed it for AOG Developments' lead flow, after seeing leads go cold between the ad form and the sales team.
Built in May 2026 as a local JavaScript demo. The matching n8n workflows, Airtable schema and Telegram message templates exist as files but were never connected. Every person in the test data is fictional.
03Problem
Leads from ad forms reached the sales team with messy phone numbers, duplicates and no clear priority, so hot leads could go cold before anyone called.
04My role (and what I didn’t do)
I designed and built it alone for AOG Developments' lead flow. It was never connected to live systems or deployed, and AOG never used it.
Airtable, Telegram and n8n were never connected, and no real lead passed through it.
05Constraints
Local only: no hosting, and every integration exists as a template or schema, not a live connection.
06Architecture / workflow
Each lead's phone number is normalized, the lead is scored from 0 to 100 into Hot, Warm or Cold, duplicates are caught by the normalized phone, the lead is assigned to a sales rep by round-robin, and Hot leads trigger an SLA alert.
- Lead payload arrives
- Normalize phone
- Score Hot / Warm / Cold
- Catch duplicates
- Assign by round-robin
- Hot-lead SLA alert
07What I built
A JavaScript module that normalizes Egyptian phone numbers into one format and scores each lead with simple, readable rules: budget given, price or payment questions, a site-visit request, a valid phone, and urgency words, matched in Arabic and English. The score also sets a follow-up of 1, 2 or 3 days. Around it: an error log for broken payloads and ready-to-send Telegram summaries, plus n8n workflow templates and an Airtable schema for a live version.
08Evidence
09Verified outcome
10Limitations
11Next step
Reject broken payloads instead of creating a record, test round-robin under concurrent requests, then connect Airtable and Telegram in a sandbox before any live demo.