Chapter Five. Leadership. 2024 to present.
Architecture in motion.
OutSmark offered me something I had not been given before: a team. Four engineers, a consultancy SaaS platform with multiple integrated apps, and the architecture beneath all of it. Alongside it, the tech lead role at Smart Civic, where the software ships to citizens. These two chapters run in parallel and they teach opposite lessons, which is exactly why I run them together.
Room one. OutSmark.
A consultancy platform and its agents. Cairo, remote.
Room two. Smart Civic.
Bilingual civic platforms. Citizens on day one.
At OutSmark the product is a platform that sits across multiple client engagements, plus the agents and integrations that make it useful for each one. My job is part architect, part tech lead, part senior engineer still writing the hard parts myself. The proportions shift week by week depending on what the platform needs, and holding that ratio is itself the skill: leading four engineers without disappearing from the code, and staying in the code without micromanaging the four.
The most interesting work has been the agents. We ship AI agents embedded into the platform, not bolted on. Each one has a specific job: extracting structured data from onboarding forms, generating tailored consultation outputs, automating the long manual workflows our consultants used to do by hand. They are designed around the way our consultants actually think, not the way an off-the-shelf chatbot wants them to think. Building them has taught me what good agentic product feels like, and how much careful, invisible design separates it from the demos.
Smart Civic is the other teacher. Bilingual civic platforms, Arabic and English, with admin dashboards and full booking systems. A civic booking system goes live and citizens use it on day one for things that matter: appointments, applications, services. It has to work. Then it has to be maintained. Then it has to be extended without breaking what it does today. Shipped software as part of someone's daily life changes what you consider a bug.
Together they are where I started operating at the architecture level by default. The platform changes. The agents change. The team changes. The job is to hold the structure together while the parts move. That is the discipline I now bring to every system I touch, including my own.
The stack at the time.
- TypeScript
- Next.js
- React
- Node.js
- PostgreSQL
- Vercel
- AI agents
- Tech leadership
I think of the role now as architecture in motion. Everything moves. The structure holds.