The customer data model behind a unified inbox
A unified inbox for WhatsApp, website widget, Instagram, and email starts with a customer identity model that works across channels. Here is how we designed it and what broke first.
Read articleBlog
Product thinking, engineering deep-dives, and founder notes from building Orqelo in public.
A unified inbox for WhatsApp, website widget, Instagram, and email starts with a customer identity model that works across channels. Here is how we designed it and what broke first.
Read articleAI responses are slower than human-typed responses. Here is how we close the perceived gap: streaming, typing indicators, optimistic UI, and when to skip AI entirely.
Read articleA white-label chat widget is not just "remove our logo." It is full brand control, custom domain, and seamless embedding on any website or native app. Here is how we approached it.
Read articleIn most Western markets, the default customer support channel is email or in-app chat. In MENA, it is WhatsApp. Here is why that changes everything about how you build a support product.
Read articleAI API costs are per-token and unpredictable. Here is how we built usage metering that gives tenants visibility, enforces quotas fairly, and prevents one tenant from running up everyone else's costs.
Read articleThe goal of AI customer support is not to automate everything. It is to automate the right things and hand off the rest — quickly, without the customer noticing.
Read articleRAG (retrieval-augmented generation) is the right approach for grounding AI answers in your content. The gap between "RAG works in a demo" and "RAG works in production" is mostly about chunking, reranking, and faithfulness scoring.
Read articleNot all AI models are equal when the task is answering a frustrated customer writing in dialect who expects a reply in 30 seconds. Here is how we think about model selection.
Read articleMost GDPR guides are written for EU-headquartered companies. Here is what changes when your SaaS is built in Lebanon, serving customers across MENA and Europe.
Read articleMost SaaS platforms bolt on tenant filtering in application code. We took a different path: Row-Level Security in Postgres enforced at the database layer. Here is why, and what we learned.
Read articleAutomated evals are the only way to catch quality regressions when you deploy changes to an AI pipeline. Here is the lightweight eval framework we built and what it actually catches.
Read articleWebhooks are easy to send, hard to deliver reliably. Here is the pattern we use: exponential backoff, dead-letter queuing, and idempotent replay — so no event is ever silently dropped.
Read articleArabic is the fifth most spoken language in the world, yet most AI support tools treat it as an afterthought. Here is how we are approaching it differently.
Read articleBuilding a right-to-left UI in Tailwind CSS with Vue 3 is mostly logical direction props. The hard parts are the edge cases: mixed LTR/RTL content, icon mirroring, and date formatting.
Read articleUnifying WhatsApp, website chat, Instagram DMs, and API channels in a single inbox sounds straightforward. It is not. Here are the hardest design problems we ran into.
Read articleFollow the build
We post about product decisions, engineering, and the MENA AI market.