Selected work

Live products I've built.

Flagship SaaS first, then the rest. Every entry links to the live product, its store listing or its admin panel.

CASE / 06

Fixawy

Software Engineer · Egypt

Two-sided home-services marketplace — web dashboard + customer & provider Flutter apps.

Laravel 8Vue 2FlutterFirebaseMySQL
fixawy.comOpen
Fixawy — product screenshot
Problem · Approach
Problem

Booking vetted home technicians in Egypt meant phone calls and no transparency — no live tracking, no in-app payment, no way to compare provider bids.

Approach

Customers browse and book vetted technicians or post a custom job for provider bids, then track the assigned technician live on a map, chat in real time, pay by cash/card/wallet, and rate the work — while providers manage jobs, availability, and earnings from their own app and admins oversee the catalog from the web panel.

Impact
Live tracking
On Google Maps
3 ways
Cash · card · wallet pay
Post-a-job
Provider bidding
→ Real-time in-app chat over Firestore→ PayTabs & Stripe payments · OneSignal push→ Bilingual Arabic/English with RTL
CASE / 07

Compass Med

Software Engineer · Egypt

Full-stack dental e-commerce & healthcare platform — built end to end.

Laravel 12PHP 8.4MySQLAlpine.jsRedis
compass-egy.comOpen
Compass Med — product screenshot
Problem · Approach
Problem

A decade-old dental-equipment business needed an online channel for dentists — catalog, wallet, coupons, shipping ops — tightly integrated with their existing Odoo ERP.

Approach

A Laravel storefront + admin: dentists browse a categorized catalog, manage cart/wishlist/store-credit wallet, and check out via online payment or COD with city-based shipping rules — plus a knowledge hub, event registration with raffle draws, and a permission-driven admin dashboard with sales analytics and Excel reporting.

Impact
Odoo
Two-way ERP sync
2 gateways
Fawaterak + Fawry
Wallet + coupons
Bavix wallet
→ City-based free/standard shipping engine→ Order tracking, returns & PDF invoices→ Laratrust RBAC · Pusher · DomPDF · Laravel Excel
CASE / 08

RevealSite

Software Engineer · US pharmacy fleet

The company & platform behind 13+ branded pharmacy apps and storefronts on one white-label foundation.

FlutterReactDjangoCeleryPostgreSQL
revealsite.comOpen
RevealSite — product screenshot
Problem · Approach
Problem

A dozen-plus independent US & UK pharmacies each needed branded patient apps and websites — but couldn't justify a separate engineering track per pharmacy.

Approach

A multi-tenant, white-label engagement platform: a new pharmacy spins up by client_id with its own branding, hours, and storefront. Patients get prescription refills, transfers, appointment booking, medication reminders, and two-way messaging — each request auto-routed to the pharmacy by fax & email via Celery. I built and shipped the patient apps (Flutter) and pharmacy sites (React) on this one shared platform.

Impact
13+
Apps & storefronts
1 codebase
White-labeled
Auto-route
Fax/email via Celery
CASE / 09

Proven Group

Independent Consultant · Spain

Corporate site for a diversified investment & operating group — fully bilingual ES/EN, no framework, no build step.

Vanilla JSNo build stepBilingual ES/ENGitHub Pages
provengroup.esOpen
Proven Group — product screenshot
Problem · Approach
Problem

An investment and operating group raising capital across Europe and the Gulf needed a corporate presence that reads as credible to a Spanish-speaking board and to English-speaking international investors at the same time — without a CMS to maintain or a build pipeline to keep alive.

Approach

Seven hand-built pages — about, vision and goals, portfolio, external investments, team and contact — where every line of copy exists twice in the markup, once in Spanish and once in English. One toggle in the header swaps the entire site instantly: no reload, no route change, no translation service. Both languages ship inside the HTML, so search engines index both.

Impact
7 pages
Bilingual ES/EN
Instant
Language swap, no reload
0 build
Static, no framework
→ Every string ships as a paired ES/EN node — both indexable→ Language choice persisted across pages and visits→ Static hosting on a custom domain, near-zero running cost
CASE / 10

Ibdaa Course

Senior Software Engineer · Arabic-first LMS

Arabic-first learning platform — a Laravel 13 API and a Next.js 16 app in one Nx monorepo, delivered with full handover.

Laravel 13Next.js 16PostgreSQL 17Nx + pnpmTailwind v4
ibdaacourse.comOpen
Ibdaa Course — product screenshot
Problem · Approach
Problem

Arabic training providers run on platforms designed English-first with RTL bolted on afterwards — so the student experience, the certificate and the admin panel all read like a translation of something else.

Approach

Built Arabic-first instead: locale-prefixed /ar and /en routes over one Next.js 16 App Router app with RTL as the default direction, backed by a Laravel 13 API split into thirteen feature modules — courses, lectures, enrolments, payments, exams, certificates with public verification, reviews, discussions, favourites and reporting. Delivered with deployment, UAT and handover docs so the client can run and extend it without me.

Impact
174 tests
616 API assertions
13 modules
74 API routes
Arabic-first
RTL by default
→ Nx + pnpm monorepo — Laravel 13 (PHP 8.5) + Next.js 16→ Certificates verifiable publicly by code→ Two production images: FrankenPHP + Next.js standalone
CASE / 11

Applyni

Engineering and operations, built for its founder

Saudi-first AI career agent — reads your CV, finds companies where you actually fit, and sends from your own Gmail.

Next.jsTypeScriptSupabaseTailwind v4next-intl
applyni.comOpen
Applyni — product screenshot
Problem · Approach
Problem

Job seekers in the Gulf blast the same CV at every opening and hear nothing back. The tools that promise to fix it mostly automate the spraying, then dress it up with invented ATS scores and match percentages that explain nothing.

Approach

An agent built to do the opposite of volume. It reads your CV, matches you against Saudi companies and explains each match in words — including what it could not verify, so a weak match says so instead of hiding behind a number. It drafts the outreach, you review it, and it sends from your own Gmail on a queue with skip rules. Nothing leaves without your approval, and the spec forbids what most of this category does: never fabricate candidate information, never promise an interview, no fake ATS scores.

Impact
21 modules
54 migrations · 96 test files
Your Gmail
Send-only, you approve
Arabic-first
RTL by default, /ar
→ Explainable matches — including what it could not verify→ Queued sending from your own Gmail with skip rules→ Append-only credit ledger · Telegram delivery notices
CASE / 12

Ezhal

Software Engineer · Qatar

Multi-tenant car-service booking — Laravel backend powering three role-specific Flutter apps.

Laravel 12MariaDB 11Flutter 3RiverpodPassport
Customer · Employee · Manager apps for iOS and Android
alpha.ezhal-qtr.comOpen
Ezhal — product screenshot
Problem · Approach
Problem

Mobile car wash & detailing needed coordinated scheduling across customers, on-the-road employees, and shop managers — with concurrency-safe slot booking and flexible loyalty.

Approach

A Laravel backend with three role-scoped APIs behind separate auth guards powers three Flutter apps: customers book slots and follow their technician live (on-the-way → arrived → started → completed), managers run schedules and wallets, all with concurrency-safe slot reservations that lock the employee before re-checking conflicts.

Impact
3 apps
Customer · Emp · Mgr
3 APIs
Role-scoped auth guards
Apple Wallet
PassKit loyalty
→ Passwordless email login codes→ MyFatoorah · Stripe · PayPal · Apple PassKit + APNs→ Wallet, points, stamps & subscription billing
Brands & products

Teams and products I've shipped for.

More real products and teams I built for, beyond the case studies above: from a bank and an e-learning platform to US and UK pharmacy brands. Each name opens its live site.

Reach

Clients and products in 17+ countries.

Remote-first from Dubai, overlapping with GCC, EU, UK, and US hours. Clients and products spanning five continents — and counting.

Gulf04
🇦🇪 United Arab Emirates🇸🇦 Saudi Arabia🇶🇦 Qatar🇰🇼 Kuwait
Europe & UK05
🇬🇧 United Kingdom🇩🇪 Germany🇪🇸 Spain🇳🇱 Netherlands🇫🇷 France
Americas01
🇺🇸 United States
Africa04
🇪🇬 Egypt🇿🇦 South Africa🇰🇪 Kenya🇲🇦 Morocco
Asia-Pacific03
🇸🇬 Singapore🇰🇷 South Korea🇨🇳 China

Tell me what you're building.

Thirty minutes is usually enough to tell whether I'm the right fit. Bring the problem you have not been able to hand to anyone yet.

  • Reply within 24 hours
  • NDA before the first call
  • You own all code & IP once paid
  • Contract & invoice directly with me
  • Larger scopes: a vetted team, quoted per scope
  • Same NDA and IP terms for the whole team