FEATURED WORK
These are the four I keep coming back to. Each one is a real internal tool used daily. The apps themselves are private, so this page is where their stories live.
A shared inbox, smart conversation routing, agent permissions, campaigns, and five live reporting views — built to replace a paid third-party WhatsApp tool with something the team owns.
The team was paying for a third-party WhatsApp tool with hard limits I kept hitting — agent count, campaign volume, reporting depth. Every workaround was another spreadsheet.
The permission system is one matrix. Every button, every filter, every route checks the same source of truth. Adding a new role is one row, not a hunt through the codebase.
A full HR platform built for a client still on spreadsheets. Twenty-six tables, a payroll system that handles Egyptian tax and social insurance correctly, plus a mobile app so people can check in from wherever they actually are.
A client with 200+ employees was running everything on spreadsheets — attendance, leave, and payroll. Every month-end was a days of checking numbers by hand, and Egyptian tax law made it worse.
The payroll engine was the hardest part — not the math, the edge cases. Prorated first months, mid-cycle raises, unpaid leave, insurance ceiling changes. The rules aren't written in one place — I collected them from real HR work.
A yoga studio was running bookings on WhatsApp. I built them a booking app for iOS — from first line of code to App Store release, without owning a Mac. The whole toolchain runs in the browser and in cloud CI.
Every Sunday night the studio owner was retyping the class schedule into a WhatsApp broadcast. Bookings arrived by DM. Cancellations were remembered, not tracked. Payments were on a spreadsheet.
Shipping to the App Store without a Mac took time to get right — Codemagic runs the iOS build, code-signing happens on their machines, TestFlight submissions go through Fastlane. I write the code in the browser, push, and 20 minutes later there's a new build in TestFlight.
Three apps that work together for the team running daily operations — an admin panel, an agent dashboard, and a campaign runner. Vanilla JS, Supabase, and a lot of realtime.
The operations team was juggling three different tools for scheduling, agent break tracking, and outbound campaigns. Data lived in disconnected places. Managers spent hours reconciling.
I kept it plain JavaScript on purpose — no framework, no build step. It loads instantly, and I can fix any problem right in the browser. Sometimes the simple choice is the right one.
Fastest reply is WhatsApp — same day, in Arabic or English.
WhatsApp me