
A Syrian engineer who builds systems, teaches engineers, and writes in the open.
I ship production multi-tenant systems for clients across MENA, run small cohorts for working engineers, and publish long-form essays on the craft. One person, four rooms, one voice.
Summary
Ali Haitham Yosef is a Syrian software engineer based in Damascus, Syria. He has built production software for ten-plus years, currently focused on multi-tenant SaaS, offline-first Flutter, and audit-grade accounting systems. His flagship project is Mohaseb, a Laravel + Flutter ERP serving 500+ small and mid-sized businesses in Saudi Arabia, Syria, and the UAE.
At a glance
- Syrian software engineer based in Damascus, Syria. Native Arabic speaker, fluent in English.
- Ten-plus years of production experience, full-stack across Laravel, Flutter, React, Postgres, Redis.
- Founder and lead engineer of Mohaseb, a multi-tenant ERP serving 500+ tenants in KSA and the Levant.
- Specialised in offline-first sync engines, ZATCA-compliant e-invoicing, and audit-grade double-entry accounting.
- Holder of the Coursera "Agile Leadership" specialisation from the University of Colorado System.
- Writes a long-form technical blog in Arabic and English with deep-dive series on sync engines and multi-tenant architecture.
Four rooms, one tenant.
Most personal sites pick one role and hide the rest. This site owns all four publicly. The voice stays the same across them, only the artifact changes.
- I ship
Engineer
Full systems from backend to app. Multi-tenant SaaS, offline-first mobile, real-time sync, audit-grade accounting. I work end-to-end so the trade-offs add up across the stack.
14 production systems shipped since 2018
See selected work → - I run cohorts
Teacher
Small live cohorts and self-paced courses for engineers who already ship. The pedagogy is plain: one real production codebase per course, real failures, real fixes. No skill-tree gamification.
180+ engineers through cohorts since 2022
Browse training → - I write
Writer
Long-form essays on systems, sync, and the parts of the craft nobody writes blog posts about. AR + EN parity. No listicles, no AI summary, no SEO bait.
22 essays + 4 series, AR + EN
Read writing → - I host
Community
A small private space for engineers who took a course or read a long-form series and want to keep arguing about the work. Quiet, slow, opinionated. Not a Discord scroll.
~400 members, invite-shaped
Join the portal →
How I got here.
Four chapters in plain prose. Not a CV. The dates and company names are placeholder where the real ones are still under NDA.
2014–2017 Started by breaking things on purpose.
I learned to code the way most engineers in Damascus did then: a borrowed laptop, a stack of pirated PDFs, and an internet connection that worked half the time. I broke a lot of things on purpose. The first paid work was small Joomla sites for local restaurants. It paid in cash and taught me the only lesson that has stayed: shipping something a real person uses changes how you think.
2017–2020 Three years inside a Damascus startup.
I joined a small B2B startup as the third engineer and stayed three years. We built a multi-tenant accounting platform from zero to ~600 paying SMBs. I owned the sync engine, then the mobile app, then most of the backend. I shipped my first production migration that lost data, learned how that feels at 2am, and rebuilt the whole offline layer to never repeat it. Most of what I teach now traces back to that codebase.
2020–2023 Independent. Clients across the region.
I left to work for myself. The work was mostly senior-engineer-on-loan: a quarter on a healthcare app in Riyadh, six months refactoring a payment ledger in Dubai, then a long stretch architecting a real-time logistics platform that handled 4k events per minute. The first cohort started in 2022, almost as an accident: students from a YouTube channel asked for office hours, the office hours became a six-week course, the course became a thing.
2023–now Building the platform you are reading.
Today the work is split: roughly half client engineering for two engagements at a time, half teaching and writing. The site you are reading is the home for both. I write code on Mondays through Wednesdays, write essays on Thursdays, run cohort sessions on weekends. The community is the thread that ties it together.
Engineering, in five commitments.
These are not principles I read in a book. They are positions I argue for, and counter-positions I refuse.
Ship, then refactor.
A working ugly thing in production beats a beautiful thing in a branch. Refactor against real load, real users, real bug reports. The "perfect architecture before launch" trap costs more than any technical debt I have ever paid down.
×I refuse: greenfield rewrites for code that ships fine.
Boring tech, where it counts.
Postgres, MySQL, Laravel, Nest, React, Flutter, Redis. The boring tools have decades of failure modes mapped. I will pick a 12-year-old library that does one thing over a 12-week-old library that does ten.
×I refuse: framework-of-the-month for foundational layers.
Offline-first is a posture, not a feature.
Mobile apps that assume connectivity break in real users' lives. Every feature I design is asked: what happens at the bus stop, in the elevator, in the village with no tower. That changes the architecture from the data model up.
×I refuse: optimistic-only UI without a sync engine behind it.
Server is the source of truth.
The client is a cache with a UI. Every conflict resolves on the server, every number is recomputed on the server, every audit trail is written on the server. The client is allowed to be wrong; the server is not.
×I refuse: client-computed totals on financial systems.
Observe before you optimise.
Performance work without metrics is folklore. I instrument first, find the actual hot path, then fix the one thing. Most "slow" reports turn out to be one query, one missing index, one badly-cached call.
×I refuse: micro-optimisations against unmeasured baselines.
Teaching, in three commitments.
I teach the way I wish I had been taught: like a peer, with real code, on real systems.
One real codebase per course.
Every course is built on a single production-grade codebase that students fork on day one. The lessons walk through real commits: the failures, the fixes, the trade-offs. No toy todo apps. No abstract diagrams without code behind them.
×I refuse: courses that teach syntax with hello-world examples.
Small cohorts, real office hours.
Live cohorts cap at 12. Every student gets a weekly 1:1, a private review on the production feature they ship in week 4, and unlimited Q&A in the cohort channel. Office hours are not a Zoom waiting room.
×I refuse: 200-student "cohorts" with one Slack thread.
Bilingual, not translated.
Arabic and English course materials are written in parallel, not translated from one to the other. Both languages get the same depth, the same examples, the same code annotations. Arabic is not a checkbox.
×I refuse: machine-translated transcripts as "Arabic support".
Writing, in three commitments.
I write fewer essays than most, longer than most, and only on topics I have shipped against in production.
No essay without an artifact.
Every long-form post is anchored to a real system I built or maintain. The code samples are from production, the failure stories are mine, the metrics are real. I have killed drafts that did not pass this test.
×I refuse: think-pieces about systems I have not run.
Length matches the argument.
A 4,000-word essay on sync conflict resolution is not "too long" if the argument needs 4,000 words. I refuse to chop ideas into eight 500-word blog posts to chase impressions. Readers come here for one thing.
×I refuse: artificial listicles, AI-generated TL;DR, SEO padding.
Bilingual parity, not translation.
Same as the courses: AR and EN versions are written in parallel, not run through a translator. Arabic readers get the same essay, not a flattened summary. Some essays exist in Arabic first.
×I refuse: English-first with auto-translated Arabic.
What I am working on right now.
Updated by hand. Not a feed.
The tools I actually use.
Not a list of every framework I have touched. The ones I would still pick today, with a one-line reason.
Frontend
- React 19 + Vite
- Boring, fast, and the ecosystem will outlive most of us.
- TypeScript strict
- Strict mode catches the bugs the team will not.
- i18next
- AR + EN with namespaces and proper plurals, no surprises.
- CSS, no framework
- Cascade + custom properties + container queries beat utility soup at scale.
Backend
- Laravel 11
- Multi-tenant ergonomics that nothing else matches.
- NestJS + Prisma
- When I want full TypeScript end-to-end with strong DI.
- MySQL + Postgres
- Pick by team familiarity. Both have served me well in production.
- Redis + Reverb
- Real-time pub/sub without bringing in a separate broker.
Mobile
- Flutter
- One codebase, two stores, real native performance, and Dart has grown up.
- Drift
- The only Flutter local DB I trust for offline-first sync engines.
- Riverpod
- Easier to reason about than Bloc once your app crosses ~50 screens.
Infra & ops
- Linux VPS + Nginx
- I run my own boxes. Vendor lock-in costs more than ops effort.
- Supervisor + Horizon
- Queue workers that do not silently die at 3am.
- Sentry + uptime probes
- Real users tell you about real bugs faster than your tests do.
- GitHub Actions
- Free, fast, and the YAML is no worse than the alternatives.
Selected milestones.
Reverse chronological. One line per milestone. Cross-room.
- SHIPPED
Real-time sync engine for Mawred Books v3
Replaced 48 polling endpoints with one unified pull + WebSocket layer. P99 latency dropped from 2.4s to 380ms.
- TAUGHT
Cohort 04: Multi-tenant Laravel from zero
12 engineers, six weeks, every student shipped a working tenant-isolated subdomain by week 5.
- WROTE
Essay series: building a sync engine, parts 1–4
~14k words across four essays. Most-read AR series of the year.
- SHIPPED
Audit-grade accounting module for Kayma
Double-entry validation, Odoo-style tax engine, multi-currency with auto exchange-difference entries.
- TALKED
Talk: Offline-first is not optional, MENA Frontend Conf
40-minute talk on building Flutter apps that respect bus-stop connectivity. Recording on the writing page.
- TAUGHT
Cohort 03: Performance under load
12 engineers, focus on observability + indexing + query plans. Three students refactored production systems mid-cohort.
- SHIPPED
Real-time delivery dashboard for Darb
4k events per minute sustained, single VPS, Redis-backed. Replaced an AWS bill that did not justify itself.
- WROTE
Essay: when polling beats WebSockets
A defense of polling for systems that do not need real-time. ~5k words. Translated by readers, not by me.
- TAUGHT
Cohort 02: Offline-first Flutter
12 engineers, custom Drift schema for each student's app, every cohort student shipped a sync engine that survives airplane mode.
- SHIPPED
Healthcare clinic onboarding flow
Three-week engagement turned into a six-month rebuild. Cut clinic onboarding time from 9 days to 2 hours.
What people who worked with me say.
Mixed: clients, students, peers, readers. None paid, none ghost-written.
- CLIENT
We hired Ali for a three-week refactor and kept him for six months. He rebuilt the part of the system every other engineer was afraid to touch.
- STUDENT, COHORT 02
The cohort changed how I think about state. I came in writing useEffect for everything. I left writing systems.
- PEER
I disagree with him about half the time, which is rare and useful. The other half he is correcting an opinion I did not know I held.
- READER
The first long-form Arabic essay I read on engineering that did not feel translated. Felt like a letter to someone who already knows the work.
When I am not at the keyboard.
I live between Damascus and Riyadh. The seasons change which one is home. Both cities have their reasons; neither has good coffee in the same week.
I read more than I write, and I write more than I post. The current stack on the desk: Designing Data-Intensive Applications for the third pass, The Goal by Goldratt for the second, and a stubborn paperback of Mahmoud Darwish that I open when prose gets noisy.
I run on weekday mornings, slowly enough that nobody overtakes me twice. I cook Levantine food badly and Kashmiri food worse. I do not own a television.
I speak Arabic and English fluently, French at a level that survives a dinner, and enough Turkish to be polite. I am learning Dart faster than any of them.
More about Ali
01Where is Ali Yosef based?
I live and work in Damascus, Syria. The studio is here, the desk is here, the coffee is here. I travel to Riyadh and Jeddah for kickoffs and milestone meetings when an engagement justifies it, and I have spent extended stretches working on-site with clients in the Gulf. Outside MENA, the work is fully remote with overlapping working hours arranged per client.
02What languages do you work in?
Arabic is my native language. English is fluent, written and spoken, used daily for client work, code, and documentation. I read technical material in both, and I write specifications, commits, and end-user documentation in either depending on the team. French survives a dinner conversation, and I know enough Turkish to be polite. Documentation for end users is delivered in Arabic and English with full RTL support, never auto-translated.
03How long have you been writing software?
More than ten years professionally, longer if you count the years of breaking things on purpose. The first paid work was small Joomla sites for local businesses in Damascus around 2014. Since then I have shipped multi-tenant SaaS, offline-first mobile apps, real-time logistics platforms, and audit-grade accounting modules for clients across Saudi Arabia, the UAE, Egypt, and beyond.
04What is your biggest project?
Mohaseb is the flagship: a multi-tenant ERP built on Laravel and Flutter, serving 500+ small and mid-sized businesses across Saudi Arabia, Syria, and the UAE. It covers accounting, inventory, payroll, point-of-sale, and ZATCA-compliant e-invoicing, all running offline-first on the Flutter app with conflict-safe WebSocket sync to a Laravel backend. The system has been in production since 2024 and continues to grow.
05Are you accepting new clients?
I take on a small, fixed number of engagements per quarter so each one gets the attention it needs. The /services page lists the five shapes of work I take, with intake forms for each. I read every inquiry personally and reply within two business days. If the calendar is full I will say so, and I will tell you when the next opening is, rather than putting you in a vague waiting list.
06Do you sign NDAs?
Yes. If confidentiality matters to you, I will sign your NDA before we discuss specifics. I have my own one-page NDA on hand if you would prefer something light and mutual. Beyond NDAs, I keep client identities and source code private by default and only mention work in my portfolio with explicit permission.
07Who owns the IP on what you build?
You do, on full payment. The contract assigns all source code, infrastructure, documentation, and runbooks to your company. I keep the right to mention the engagement in my portfolio unless you ask otherwise. I also retain the right to reuse generic, non-confidential patterns I developed (the same way every engineer brings their toolbox between jobs), but never your business logic, your data model, or your code.
How to reach.
I read everything. I reply to most. The fastest way is the right channel for the question.
Open to
- Senior-engineer-on-loan engagements (≥ 3 months, ≤ 2 at a time).
- Team workshops on multi-tenant SaaS, offline-first mobile, real-time sync.
- Long-form essay collaborations with publications I respect.
Not for me
- Discovery calls with no scope. Send a written brief first.
Channels
— AliDamascus / Riyadh