You need the line answered before the caller gives up.
I built exactly this for a residential developer: an agent that answers and qualifies on the spot, in two languages, on a calling stack that is legal to run.
Every enquiry now gets a same-day conversation instead of a voicemail.
Call comes inAnswered & qualifiedTour bookedCRM updated
You need follow-up that doesn’t depend on someone remembering.
Most outreach dies on the second and third touch, which is exactly the part a busy human stops doing. I automate that part without getting your number blocked.
First deal closed in week one. That one deal covered the entire build.
Lead arrivesFirst messageDay 3 · day 7Reply routed to you
You need someone reading the vendor’s work for you.
I do this as retained technical lead for a real estate group: I don’t write the build, I audit what arrives and translate it for the people paying for it.
159 custom modules audited. Migration risk quantified before go-live, not after.
Vendor deliversI audit itRisks written downYou decide
In my experience that means the problem is in the plumbing — data sitting in systems that don’t talk to each other, so nothing downstream can be automated cleanly. Those are the ones worth twenty minutes on a call, because the answer is rarely the software you’d expect.
I work as your technical lead, not as another vendor.
That means I'm the one asking the vendor hard questions, not the one dodging them. I build what I recommend, I stay on to run it, and I hand over every credential and every document. If the honest answer is that you don't need software, you'll hear that on the first call.
Services
Everything between a lead arriving and a viewing booked.
Take the full system, or the single layer that's holding back the rest. Most engagements start with one and grow into the third.
01 / CAPTURE
AI voice agents for property enquiries
Answers the line at any hour, knows your inventory, qualifies against your criteria, and books the tour into a leasing agent's calendar.
Inbound answering and outbound follow-up calls
A second language spoken properly, not translated
Telephony and consent that survives a regulator
02 / CONVERT
Outreach and follow-up systems
The unglamorous layer that decides whether leads become deals. Most outreach dies on the second and third touch — exactly the part a busy human stops doing.
Sequences on approved templates, not grey tooling
Reply detection, routing and agent notification
Every touch written back to the CRM record
03 / ADVISE
Systems advisory and technical lead
For groups already buying AI and ERP work. I sit on your side of the table, audit what the vendor delivers, and translate it for the people paying for it.
Delivery audit against what was actually promised
Migration parity assurance and written risk registers
Retained oversight, not another line of billable code
Track record
Three engagements. Written the way I'd walk you through them.
What was broken, what I built, and what changed. No logos I haven't earned and no numbers I can't defend.
Week 1
Time to first closed deal on an outreach system I built
159
Custom ERP modules audited as technical lead
2
Languages spoken by the voice agent, both natively
24/7
Coverage on an enquiry line that used to close at six
Caller
Telephony
Agent
CRM
0sEnquiry arrives
9sAnswered, any hour
24sQualified in Urdu or English
41sTour booked
48sRecord written
Every enquiry now gets a same-day conversation instead of a voicemail.
Client
Alif Holdings
Role
Architect and builder
Stack
Retell AI · Telnyx · LiveKit · n8n
Status
Live
The problem
Enquiries arrived faster than a small team could call back, and callbacks came late. Buyers expect to be spoken to in Urdu, on the phone, quickly. Off-the-shelf products failed twice over: wrong language, and no legal route to place outbound calls to local numbers.
What I built
An agent that answers and calls back, working from a versioned knowledge base of the project, pricing and payment plans.
Natural Urdu delivery, engineered rather than machine-translated.
Outbound on Telnyx with the regulatory question solved: PSEB registration, in-country hosting, and a documented path to self-hosted LiveKit.
Brochure, booking and rep briefing fire automatically after the call.
The part most vendors skip
The hard problem was never the AI. It was calling compliance: which entity may lawfully place automated calls, where media is hosted, how consent is evidenced. That is why this runs while most pilots stop at the demo.
Week oneWeek two
012345678910111213
Sent on approved templatesHanded to a human
D0First template goes out, number warmed
D3Second touch — where manual outreach starts slipping
D7Third touch — the one a busy human never sends
D8Reply detected, pulled out of the sequence
—Every touch written back to one record
First deal closed in week one. That deal covered the entire build.
Client
Private
Role
Architect and builder
Stack
WhatsApp Business API · n8n · CRM
Result
Week one
The problem
Messages went out in bursts when there was time, follow-ups depended on memory, and replies sat in a personal inbox. No way to tell which conversations were still alive. Small enough to feel manageable, large enough to leak deals.
The obvious fix — a bulk sender — is also the fastest way to get a business number banned. That constraint shaped the build.
What I built
Official WhatsApp Business API on approved templates, paced and warmed so the quality rating stays green.
Timed follow-ups, so a silent contact is touched again on schedule rather than when someone remembers.
Reply detection that pulls a live conversation out of the sequence and hands it to the human with context.
Every send, delivery, read and reply written back to one record.
Why it worked
Nothing here is clever. It is consistency, made automatic, on a channel where people reply, run so the number survives past month two. Most outreach dies on the second and third touch — exactly the part a human stops doing.
159 custom modules48 carried findings
159Custom modules delivered across eight years
—Dependency graph mapped to the one module everything hangs off
25Issuing raw SQL against v10 table names
23Carrying legacy JavaScript
40Module gap between the vendor’s inventory and what is on disk
159 modules audited. Migration risk quantified before go-live, not after.
Client
Alif Holdings
Role
Technical lead, retained
Scope
Odoo v10 → v18 · fraud detection
Status
Ongoing
The problem
A group migrating eight years of custom ERP work with an external vendor. Nobody inside could tell whether what came back would match what finance relies on daily. The people best placed to judge could not read a codebase, and the people writing it were reporting on their own progress.
What the role actually is
I don't write the migration. I'm the client's technical counterweight to the vendor, and I own one question: will this behave the way the business needs on day one.
Reviewed all 159 custom modules and mapped the dependency graph to the one module everything hangs off.
Surfaced the real risk: 25 modules issuing raw SQL against v10 table names, 23 carrying legacy JavaScript, and a 40-module gap between the vendor's inventory and what is on disk.
Act as the single filter between vendor, auditors and finance, so leadership gets decisions instead of ticket noise.
Second workstream
An AI fraud detection layer over the group's approval flows, scoped as an external service returning approve, reject or uncertain into the existing steps — testable and reversible without touching finance operations.
How I engage
Three stages. You can stop after any of them.
Plenty of clients only need the first, and that's a fine outcome.
STAGE 01
Diagnostic
1–2 weeks · fixed fee
I map where enquiries stall today and what your existing tools already do that nobody uses. You get a written architecture and a costed recommendation — including the honest version where the answer is a process change, not software. Yours whether or not you build with me.
STAGE 02
Build
4–10 weeks · fixed scope
Built, integrated with your CRM and numbers, and put in front of real leads in a controlled slice before it takes full volume. You get the documentation and the credentials. Nothing runs on an account you can't access.
STAGE 03
Run
Monthly retainer
Live systems drift. Prompts need tuning against real calls, templates get rejected, providers change the rules. I hold the system, report on what it produces, and act as your technical lead with any other vendors.
Working stack
Chosen per engagement, not per habit.
I'm not tied to a vendor, and I'll tell you when the cheaper tool is the right one.
Voice & telephony
Retell AI
LiveKit
Telnyx
ElevenLabs
SIP trunking
Messaging & outreach
WhatsApp Business API
Meta Cloud API
Email infrastructure
Orchestration & data
n8n
Make.com
Python
PostgreSQL
PocketBase
LangChain
RAG pipelines
Business systems
Odoo
HubSpot
Keap
Airtable
REST integrations
About
The person you'd actually be working with.
Lahore, PakistanRemote · US & EU hoursTwo engagements at a time
I'm Roshaan Ejaz. I build AI systems for companies that sell and manage property, and I stay on to run them.
I came to this through engineering, not marketing: a computer science degree, then years building automation and machine learning systems in-house before going independent. That's why the work survives contact with production. I care about the parts nobody demos — what happens when a provider rate-limits you at 4pm, whether your calling setup is legal where you're calling, and who owns the account when the engagement ends.
Property is a business of fast follow-up in more than one language, which is exactly what these systems are good at. I work with a small number of clients at a time, across the US, Europe and Pakistan.
Earlier engineering work: a retrieval system over clinical documents using LangChain and FAISS; transformer models for code generation and summarisation in PyTorch; an automated unit-test generator for Java evaluated across 50+ programs, built as a final-year research project. Not real estate, but it's where the retrieval and evaluation habits came from.
Writing
Notes from building the unglamorous half.
The telephony rules, the failure modes, the reliability work nobody demos. Written up as I hit them.
How is this different from buying a leasing AI product?+
Products are built for the average operator. If your stack is standard and your process is standard, buy the product, and I'll tell you which one. I'm useful when the pieces don't fit: a second language the product doesn't really speak, a CRM nobody integrates with, telephony rules in your country, or three tools that each hold part of the lead record. Increasingly the work is fixing AI that's already been bought and isn't landing.
How does pricing work?+
The diagnostic is a fixed fee. Builds are fixed scope, quoted after the diagnostic so we're both pricing something real rather than a guess. Ongoing support is a monthly retainer, and advisory engagements are retained by the month. No hourly billing, because you shouldn't pay more when something takes me longer than it should.
How fast can something be live?+
A working voice agent on a controlled slice of traffic usually takes four to six weeks from signed scope. Outreach systems are faster. The long pole is almost never the AI. It's phone number provisioning, WhatsApp template approval, and getting access to your CRM, so the sooner those start, the sooner you're live.
What happens when the engagement ends?+
You keep everything. The systems run on your accounts, with your API keys, under your billing, from day one. You get the architecture documentation and a written handover. If you want to move it in-house or to another vendor, nothing about my setup makes that hard, which is deliberate.
You're not in my timezone. Does that matter?+
I work US and European hours and I'm reachable during your day. More to the point, I take a small number of clients at a time specifically so that response time is short. If a live system breaks at your 9am, that's my problem, not something that waits for a ticket queue.
Can I talk to a client you've worked with?+
Yes. References are available once we've had a first conversation and I know which engagement is the relevant comparison.
Roughly how many enquiries you get a month, and what happens to the ones nobody calls back. Thirty minutes. If I'm not the right person for it, I'll say so on the call and point you somewhere better.