Mohamed Hamid

Mobile & Backend Engineer

Start your project

From idea to production-ready app.

Flutter, the backend behind it, and the tests that keep both honest.

Download CV

  • 3+ Years
  • 27 Apps shipped
  • 16 Clients
  • 8,551 Tests

Your idea deserves better engineering.

Mohamed Hamid

I'm Mohamed Hamid. I build Flutter apps and the backends behind them — APIs, services, dashboards — so what you get is a product, not a client that still needs plumbing.

My last project was an autonomous trading system: 8,551 tests, and every fix carries a test that fails if the bug ever comes back. Most of that work turned out to be measurement, not code — 115.9 million market quotes processed to replace numbers that had been guesses. I published the results, including the ones that went against me.

That's the habit I bring to product work: ship it, prove it, and write down what's still an assumption.

Open to full-time roles, and to project work.

Projects I've shipped recently.

Sahm Trader

I set out to build a strategy, and ended up building something else. What empties an account is not a run of losing trades — it is the one day everything collapses together. So I built the layer that stops it: a day the system had modelled as capped under 1% reached 13.84% — it now ends at 0.753%.

1 · The daily loss limit was lying to us

Everyone who builds a trading system focuses on one question: when do I enter. However well you answer it, the answer is not enough on its own — because what empties an account is not a run of losing trades. It is the one day the positions collapse together. So I turned the project around: not a system that enters trades — a system that stops the blow-up.

And the problem is sharper than "use a stop loss." Any serious system has a daily loss limit, and computes it from the stop. But that computation assumes price touches the stop. It does not always — it can gap straight past it, and you leave the trade far from where you had it priced. When that happens to two positions on the same day, a day the system had modelled as capped under 1% reached 13.84%.

And worse: lowering the per-trade risk does not fix it. At 0.01% per trade, the same day landed in the same place — because what governs the outcome is not your size, it is the distance the price jumps.

2 · What I built

A layer that sits between the strategy's intention and the broker, and asks one question before any order leaves:

If price gapped past the stop instead of touching it, would the day breach its limit?

If yes ⟹ refused — and the refusal is logged with its full arithmetic. You learn why it was refused, not just that it was.

What it does, plainly
UROS · the single sizing authorityOne place in the system decides the size of any order, and there is no other route. The broker call order_send is reachable from exactly one file in the entire codebase — verified across the repository, not assumed
12 gatesTwelve checks every order passes through. One gate saying no is enough
The governorOwns the whole order path — reads the price, sizes, checks, sends or refuses — and records every decision with its reason
MEDRARThe market-reading layer feeding the decision: data quality · volatility · microstructure · market state. When its resources run short, it stands itself down rather than degrading the system

The result on that same day: 13.84% ⟶ 0.753%.

3 · A guard that cannot evaluate answers no

One principle runs through the whole layer: a guard that cannot evaluate answers no, not yes.

News calendar missing? No order leaves.

A position open that the system did not open? Every new entry refused.

The configuration itself unsafe? The system does not start at all.

4 · Why you can believe it

8,551 automated tests, and a regression test for every defect ever fixed.

Every one of those tests is proven to fail when its defect is put back — so a test that has quietly stopped testing cannot hide.

61 checks run before every commit.

The core of the layer runs with the broker's own module blocked entirely — against a substitute broker and a replay clock; breaking any guard stops the replay instead of printing its refusal.

And I published one of the measurements for public review: four engineers challenged it, and one named a defect our own audit had missed — I measured it, fixed it, and added the test.

What took the year was not the idea. Any engineer thinks of checking gap risk. What took the year was measuring it: 115.9 million market quotes.

And I built all of it myself: the engine in Python · the dashboard in Node · the app in Flutter — three runtimes, one system, nobody else on it.

Python · FastAPI · Node · Flutter · PostgreSQL · Redis · WebSocket · Docker · MetaTrader 5

Read the published measurement

The rest of the site is loading.

محمد حميد

مهندس تطبيقات الجوال والأنظمة الخلفية

ابدأ مشروعك

من الفكرة إلى تطبيق جاهز للنشر.

Flutter، والأنظمة الخلفية التي تقف خلفه، والاختبارات التي تضمن أن يفي كلاهما بوعده.

حمّل السيرة

  • 3+ سنوات
  • 27 تطبيقات منشورة
  • 16 عملاء
  • 8,551 اختبارات

فكرتُك تستحق هندسةً أفضل.

محمد حميد

أنا محمد حميد. أبني تطبيقات Flutter والأنظمة الخلفية التي تقف خلفها — APIs وخدمات ولوحات تحكم — فتحصل على منتج متكامل، لا على واجهة ما زالت تحتاج إلى تمديدات.

آخر مشاريعي كان نظام تداول آلي: 8,551 اختباراً، وكل إصلاح يرافقه اختبار يفشل إن عاد الخطأ يوماً. واتضح أن معظم ذلك العمل كان قياساً لا كتابة كود — عالجتُ 115.9 مليون تسعيرة من بيانات السوق لأستبدل أرقاماً كانت مجرد تخمين. ونشرتُ النتائج، بما فيها تلك التي جاءت ضدي.

وهذه هي العادة التي أحملها إلى عملي على المنتجات: أُطلق المنتج، وأُثبت أنه يعمل، وأدوّن ما لا يزال مجرد افتراض.

متاح لوظائف بدوام كامل، وللعمل على المشاريع أيضاً.

مشاريع أنجزتها مؤخراً.

Sahm Trader

بلّشت أبني استراتيجية، وطلعت بإشي تاني. الي بيصفّي الحساب مش الصفقات الخاسرة — هو اليوم الواحد الي بينفجر فيه كل إشي مع بعض. فبنيت الطبقة الي بتوقفه: يوم النظام كان حاسبه بالنموذج تحت ١٪ وصل ١٣.٨٤٪ — صار ٠.٧٥٣٪.

١ · الحدّ اليومي كان بيكذب علينا

كل واحد بيبني نظام تداول بيركّز على سؤال واحد: إيمتى أدخل. والسؤال هذا، مهما زبط، ما بينفع لحاله — لأنّ الي بيصفّي الحساب مش سلسلة خسائر، هو اليوم الواحد الي بتنهار فيه المراكز مع بعض. فحوّلت المشروع: مش «نظام بيدخل صفقات» — نظام بيوقف الانفجار.

والمشكلة أدقّ من «حطّ وقف خسارة». أي نظام محترم عنده حدّ خسارة يومي، وبيحسبه من وقف الخسارة. بس الحساب هذا بيفترض إنّ السعر بيلمس الوقف. وهو ما بيلمس دايماً — بيقفز فوقه، فبتطلع بعيد عن المكان الي كنت حاسبه. ولمّا يصير هذا على مركزين بنفس اليوم، يوم النظام كان حاسبه بالنموذج تحت ١٪ وصل ١٣.٨٤٪.

والأخطر: تقليل مخاطرة الصفقة ما بيصلّحه. على ٠.٠١٪ للصفقة، نفس اليوم نزل بنفس المكان — لأنّ الي بيحكم مش حجمك، هو المسافة الي بيقفزها السعر.

٢ · شو بنيت

طبقة بتقعد بين نيّة الاستراتيجية وبين الوسيط، وبتسأل سؤالاً واحداً قبل ما يخرج أي أمر:

لو السعر قفز فوق الوقف بدل ما لمسه — هل اليوم بيكسر حدّه؟

لو آه ⟸ رفض. والرفض بينسجّل مع حسابه كامل — بتعرف ليش انرفض، مش بس إنه انرفض.

شو بيعمل، بالبسيط
UROS · سلطة التحجيم الوحيدةمكان واحد بالنظام بيقرّر حجم أي أمر، وما في طريق تاني. وأمر الوسيط order_send بيوصله ملف واحد بكل المشروع — متحقَّق، مش مفترَض
١٢ بوابة١٢ فحصاً بيمرق منهن كل أمر. وبوابة وحدة بتقول لأ بتكفي
الحاكمبيمسك مسار الأمر كامل — يقرأ السعر، يحجّم، يفحص، يرسل أو يرفض — وبيسجّل كل قرار بسببه
MEDRARطبقة قراءة السوق الي بتغذّي القرار: جودة البيانات · التقلّب · البنية الدقيقة · حالة السوق. ولمّا مواردها تضيق، بتوقف هي — مش النظام

والنتيجة على نفس اليوم: ١٣.٨٤٪ ⟵ ٠.٧٥٣٪.

٣ · الحارس الي ما بيقدر يحكم، بيجاوب ممنوع

مبدأ واحد ماشي بالطبقة كلها: حارس ما بيقدر يحكم، بيجاوب «ممنوع» — مش «مسموح».

ناقص تقويم أخبار؟ ولا أمر بيخرج.

مركز مفتوح ما فتحه النظام؟ كل دخول جديد مرفوض.

الإعداد نفسه خطر؟ النظام ما بيقلع أصلاً.

٤ · وليش تصدّقه

٨,٥٥١ اختبار آلي، واختبار انحدار لكل عطب انصلح.

وكل اختبار منهن مُثبت إنه بيفشل لمّا يرجع العطب — فاختبار بطّل يختبر، ما بيقدر يتخبّى.

٦١ فحصاً بيشتغلوا قبل كل commit.

وقلب الطبقة بيشتغل وموديول الوسيط محجوب كلياً — ضد وسيط بديل وساعة إعادة؛ وكسر أي حارس بيوقف الإعادة بدل ما يطبع رفضه.

ونشرت أحد القياسات للمراجعة العلنية: أربع مهندسين اعترضوا، وواحد سمّى عطباً فحصنا ما مسكه — قِسته، صلّحته، وضفت له اختباراً.

والي أخذ السنة مش الفكرة. أي مهندس بيفكّر يفحص مخاطرة الفجوة. الي أخذ السنة هو قياسها: ١١٥.٩ مليون تسعيرة سوق.

وبنيته كله لحالي: المحرك بـPython · لوحة التحكم بـNode · التطبيق بـFlutter — تلات بيئات، نظام واحد، وما في حدا تاني عليه.

Python · FastAPI · Node · Flutter · PostgreSQL · Redis · WebSocket · Docker · MetaTrader 5

اقرأ القياس المنشور

بقية الموقع قيد التحميل.

This is taking longer than usual.يستغرق التحميل وقتاً أطول من المعتاد.