I'm a mobile developer with 4 years of experience building production apps across the UAE, France, Egypt and Algeria.
My work spans marketplaces, healthtech, smart-city infrastructure and logistics. I've shipped apps used by hundreds of thousands of people, handled complex backend integrations, and owned full product cycles from architecture to App Store submission.
What I actually get hired for — usually more than one of these on the same project.
Cross-platform apps in Flutter, built to survive production — clean architecture, typed error handling, offline-aware state, and the release pipeline to both stores.
REST and real-time APIs with auth, role-based access and validation at the edges. Schema design, migrations and query work included — the database is part of the job, not a separate one.
Dashboards and web platforms end to end — React front ends on top of my own APIs, deployed and maintained. Multi-tenant when the product needs it.
Software for how a business actually operates — warehouse scanning, dispatch, invoicing, admin dashboards. Built around the workflow on the floor, not a generic template.
Production products built for clients and employers across the UAE, France, Egypt and Algeria.
mobile
Marketplace connecting home-based sellers across the Emirates with customers buying homemade food and handcrafted goods. I lead Flutter development on the customer app — cart and checkout, payments, multi-address delivery, live order tracking and full EN/AR localisation — and on the seller side alongside it. The marketplace now lists 700+ independent makers across all seven Emirates.
mobile
The other half of the marketplace: home chefs and small shops run their storefront from a phone. Incoming Santra and manual orders with status transitions, order history, monthly order and profit figures, promotion requests, direct chat and push notifications. Built on Stacked with hooks and fpdart for typed failures, against the partner API, EN/AR throughout.
mobile
A two-sided marketplace where drivers list and sell their parking spots to other drivers. I built the money path — Stripe checkout, in-app wallet, payouts and bank-account onboarding — plus geohash-based spot discovery on Google Maps, live tracking for both buyer and seller, and real-time updates over Pusher. My largest codebase to date.
mobile
France’s first click-and-collect and home-delivery platform for medication, ordered with or without a prescription. Two Flutter apps — patient and courier — on a shared ordolib_core package holding the design system, models and networking, so a change lands in both from one place. Ordo’Scan reads the prescription, an OCR scanner pulls the social-security number off a Carte Vitale, and patients filter pharmacies by open, on-duty or offers before choosing delivery or in-store pickup. Identity verification, wallet and payments throughout.
mobile
Field app for taxis conventionnés — French state-reimbursed patient transport. Covers CPAM and Ameli Pro integration, invoicing across factures and lots, patient and prescriber records, and shared trips between operators. Built on Stacked MVVM with freezed models and dartz for typed error handling, consuming a shared design-system package I maintain across the client's apps.
mobile
Barcode-driven warehouse operations for a ceramics manufacturer. Pallet and delivery-note scanning, expedition workflows, multi-user checkpoint scans, quantity and date adjustments, and cancellation handling. Built for the shop floor, where a scan that silently fails holds up a truck.
mobile
HR app that moves a workforce’s paperwork onto their phones. Employees raise requests — payslips, work certificates, leave, sick leave, salary advances, expense claims — and follow each through pending, approved or refused. Also covers CDI, CDD and freelance contracts, salary history, CNAS paperwork, and complaints with proof captured by camera. The home screen leads on what people actually open the app for: leave remaining and whether an advance is still available. I designed and built it across 80+ screens, then handed the codebase to the client.
mobile · api
A healthcare platform I own end to end — the Flutter app and the Node API behind it. Verified doctor directory with map-based nearby search and live availability, appointment booking, in-app video and voice consultations over Agora, chat, clinic management and doctor reviews, Stripe payments, a posts-and-reels feed, push notifications and referral codes.
web
Public site for the marketplace — 700+ independent makers, 8,000+ artisan products, all seven Emirates — with separate paths for shoppers, corporate gifting and makers signing up to sell. Built as a hand-rolled static site with no framework: my own i18n layer switching EN/AR with full RTL, self-hosted Tajawal and Mark Pro faces preloaded, and hreflang alternates plus canonicals so both languages index cleanly.
web
Marketing and lead-generation site for an Egyptian executive-search firm placing banking, tech and fintech talent across the UAE, KSA and Europe. Next.js 14 with a hand-rolled EN/AR bilingual layer including RTL, a geo-aware landing experience, blog with dynamic routing, a programmatic sitemap, and a nodemailer-backed contact pipeline feeding their inbound.
erp
ERP for a French building-management company, delivered as two clients on one Firebase backend: an Android tablet app for teams in the field and a Flutter Web dashboard for the office. I designed the data schema and built both.
Products and tooling I build for myself — where I get to pick the whole stack.
A restaurant ordering product I'm building on my own time: diners scan the QR on their table and order without installing anything. Express 5, Prisma 7 and PostgreSQL over a ten-model schema — products, modifier groups, orders, subscriptions — with Socket.io pushing live order state to the kitchen, and a React dashboard on top for the restaurant.
The board I actually run my week on. SQLite through node:sqlite, HTTP and UI on node:http — no framework, no build step, no dependencies. It also exposes an MCP server, so an agent can read the board, pull from Todo and push to Testing, while only a human moves anything to Ready — tested, no bugs found, isn't something the AI gets to assert. Runs at login via launchd.
n8n pipelines that delete manual data entry. The one behind EasyMakla takes a restaurant's menu spreadsheet over a webhook, runs the rows through Claude to normalise them into the schema, validates, then writes straight to Postgres — onboarding that used to be an afternoon of retyping. Others handle recurring reports and bulk imports.
One button broadcasts your location to responders nearby, who get a push alert and a map of how close they are. Flutter front end on a single-file PHP and MySQL API, with its own landing page. Kept deliberately small — it has to work on a bad connection, in a hurry.
One deployment, many car dealerships. Each agency gets a private admin dashboard plus a public showroom on its own URL slug, with rentals and sales switchable per agency. React and Vite on the front, Express, Prisma and PostgreSQL behind it, JWT auth and Zod validation at every boundary.
Where I’ve worked, and what shipped while I was there.
Leading Flutter development across the customer and seller apps for a UAE home-food marketplace — checkout and payments, multi-address delivery, live order tracking, and EN/AR localisation.
Flutter feature work across client projects — building out new screens against existing APIs, resolving regressions, and keeping release performance stable.
Built and maintained Flutter apps for the agency’s clients, taking handed-off designs through to shipped iOS and Android releases.
Shipped new features into a live e-commerce app, rebuilt UI components, and untangled the API integration layer that was causing most of the crashes.
Mobile apps, admin dashboards and custom backends for clients across Algeria — usually owning the whole stack, from schema to store listing.
I'm Mahdi, a senior Flutter developer based in Algeria, working with clients in the UAE, France, Egypt and Algeria. Four years in, most of what I build is the awkward kind: marketplaces that move real money, medical transport tied to a national reimbursement system, warehouse scanning where a silent failure holds up a truck.
I don't stop at the app. I design the schema, write the API, ship the release and keep it running — which means fewer handoffs and nobody to blame when something breaks. Comfortable in Figma too, enough to take a design to production without losing the details.
I use AI tooling throughout my own development workflow — it makes me faster, and nothing reaches a client that I haven't read and understood myself.
Currently taking on freelance work. Send me a line about what you’re building — I’ll come back within a day with what I’d need to know and a rough sense of scope and timeline.