Haider Ali
← Back to work

Case study · AI Receptionist Platform · In progress

Meydan Personal Assistant

A horizontal AI receptionist platform built for UAE businesses, shipping under Meydan Free Zone.

Role

Full-Stack Developer

Stack

Next.js, NestJS, PostgreSQL

Status

Live, actively building

View live product →

The client.

Meydan Free Zone is one of the UAE's largest free zone authorities, set up by the Dubai government to attract international businesses to register and operate inside Dubai. Tens of thousands of companies hold their licenses through Meydan. Meydan Personal Assistant is a productized service Meydan Free Zone offers to those companies — an AI receptionist they can switch on the day they incorporate.

I'm currently building the platform with Meydan's team. The product is live and onboarding businesses across the UAE.

The problem.

The UAE has a particular kind of front-office problem. Businesses are usually small, scrappy, and run by founders who answer their own phone. Customer expectations are the opposite: people expect responsive, professional, multilingual service from the first call. Most businesses solve this by hiring a receptionist who picks up some of the time, or by missing calls and replying to WhatsApp messages whenever they get a chance. Both options scale badly.

Meydan wanted to offer a product that solved this for the businesses on their roster. The brief: an AI receptionist a UAE business could sign up for, configure in under an hour, and have live the same day. No hardware. No SIM cards. No setup fees. Just a UAE phone number, a calendar connection, and a knowledge base trained on the business's own website.

What I'm building.

I'm building the full web platform. The signup and onboarding flow, the configuration dashboard, the unified inbox for calls and emails, the knowledge base manager, the calendar sync, the call and email logs, and the entire integration surface between the platform and the voice agent.

The product surface is intentionally narrower than Grace AI. There are no customer or job modules. No team-member assignment. No field service integrations. That's deliberate. Meydan PA is horizontal — it has to work for a law firm, a clinic, a logistics company, and a marketing agency without forcing any of them through a workflow that doesn't fit their business. So the product strips back to the universal layer: every business gets calls, every business sends emails, every business books appointments. That's what the product does, well, for everyone.

The technical decisions.

Same backbone as Grace — Next.js on the frontend, NestJS on the backend, PostgreSQL underneath — because the architectural lessons from Grace transferred directly. The interesting technical work has been on the parts of Meydan PA that Grace doesn't have: the auto-knowledge-base feature that crawls the business's website on signup and turns it into structured training data the voice agent can use; the UAE phone number provisioning flow that picks up a local number without the business owner ever touching a telecom provider; and the unified inbox that merges calls, transcripts, and emails into one stream.

The Gmail and Outlook integrations were the surprise. Building auto-reply against two different email providers, each with their own quirks around threading, signatures, and IMAP rate limits, took longer than the call handling did. Auto-reply also has to be careful — replying to the wrong email at the wrong time damages a business more than missing the email entirely. The logic for which emails get auto-replied and which ones get flagged for human review is the kind of decision that looks trivial on the spec and turns into a week of tuning.

The difference from Grace.

Grace and Meydan PA are the same product category and very different products. Grace goes deep into one vertical and integrates with the tools that vertical already runs on. Meydan goes wide across every vertical and refuses to integrate with anything that isn't universal. Both decisions are correct for their market. Building both has taught me more about product scoping than any course on it would have.

What I learned (and am still learning).

The biggest lesson from this project so far is that simpler products are harder to build than complicated ones. Every feature Grace has, I could justify by pointing at a plumber in Brisbane who needed it. Every feature Meydan doesn't have, I have to defend against the temptation to add it. Saying no to a feature for a horizontal product is much harder than saying yes to one for a vertical product. That discipline shapes what the product actually feels like to use.

Stack.

FrontendNext.js, TypeScript, Tailwind, shadcn/ui
BackendNestJS, TypeScript, PostgreSQL
IntegrationsGmail API, Outlook API, Google Calendar, custom voice agent API, UAE telecom provisioning
InfraVercel + custom deployment