Skip to content
Open to robotics & full-stack roles

Mohammd Benni Robotics &AutomationEngineer.

Full-stack developer · Aleppo, Syria

I build systems that have to work outside the simulation — autonomous robots, traffic controllers, and the backends and databases behind them.

Step response t → 2026
Mecca
Manara robot deployed
and the Prophet’s Mosque, Medina
11
Languages served
by the units I help build
7 yrs
Competitive programming
competitor and coach
3
Production stacks
ROS 2 · .NET Core · FastAPI
01 / About

Where software meets hardware

I'm a fifth-year Control and Automation Engineering student at the University of Aleppo and a robotics engineer at SWB Technical Development, where I work on autonomous service robots running ROS 2.

Most of my work sits where software meets hardware: reading a battery management system over RS-485 and getting the timing right, putting a detection model on a microcontroller, or making a control loop behave when the sensor data is late and noisy.

I'm also a full-stack developer. I spent a year building .NET Core services at Elkood with Domain-Driven Design and CQRS, and I've shipped a complete product alone — FastAPI, SvelteKit, PostgreSQL, an Android client, and an encrypted video pipeline. Designing the schema and the system around it is the part I enjoy most: the shape of the data decides what the application is allowed to become.

I've also been coaching competitive programming at Aleppo University since 2022, and I run the technical side of ACPC, our ICPC-affiliated local contest. Teaching is the fastest way I've found to notice what I actually understand.

Quick facts
Based in
Aleppo, Syria
Studying
BSc Electrical Eng. — Automatic Control & Industrial Automation
Now
Robotics Engineer, SWB Technical Development
Works in
C++, C#, Python, TypeScript, SQL
Languages
Arabic (native), English (professional)
02 / Work

Selected work

Five projects that between them cover the whole range — a robot in daily public service, a controller that has to fail safely, and a product I designed, built, and shipped end to end.

01

Manara Robot

Deployed

SWB Technical Development · Grand Mosque, Mecca

An autonomous guidance robot that answers visitors' questions at the Grand Mosque in Mecca and the Prophet's Mosque in Medina, in eleven languages. I work on the manufacturing and core programming of the units: the ROS 2 Jazzy stack, a custom C++/Python bridge that pulls telemetry from the battery management system over RS-485, and sensor integration across RPLidar, ultrasonics, and the rest of the sensor set.

The hard part is rarely the algorithm. It is serial timing that drifts, a battery frame that arrives malformed once an hour, and a machine that has to keep working in a crowd of thousands with no one available to restart it.

Stack
ROS 2 Jazzy, C++, Python
Compute
Orange Pi 5 Max, Raspberry Pi
Sensing
RPLidar C1, ultrasonic array, BMS telemetry
Bus
RS-485 serial, hardware-timed framing
Role
Robotics engineer — sensor bridge, embedded bring-up
02

Adaptive traffic intersection control

Graduation project · University of Aleppo

A traffic signal that decides its own timing from a single camera. YOLOv11n detects vehicles, IoU tracking with EMA smoothing turns that into a stable queue estimate per approach, and a pressure-based supervisory controller — built on Max-Pressure theory — picks which phase gets the green.

Underneath it sits a finite state machine that owns safety: minimum green, all-red clearance, and a fixed-time fallback. If the vision layer lies, stalls, or dies, the intersection still behaves. It runs on an ESP32 with a custom PCB driving the signal heads.

  • YOLOv11n
  • OpenCV
  • Python
  • ESP32
  • Custom PCB
  • FSM safety layer
  • Max-Pressure control
03

Access Gate

Product · full stack, solo

A video course platform for instructors who lose income to leaked recordings. FastAPI backend, SvelteKit web app, and an Android client wrapped with Capacitor. Video is served as AES-128 encrypted HLS from Cloudflare R2, keys are issued per session, and on Android the content key is unwrapped by an RSA key that never leaves the TrustZone-backed keystore.

Access codes are generated through a Telegram bot, so an instructor can sell and enroll a student from their phone.

  • FastAPI
  • SvelteKit
  • Capacitor
  • PostgreSQL
  • AES-128 HLS
  • Cloudflare R2
  • Android Keystore
  • JWT
04

ACPC — Aleppo Collegiate Programming Contest

Contest infrastructure · technical lead

I run the technical side of our ICPC-affiliated contest: a PC² 9.10 judging cluster, auto-judge configuration, live scoreboard, balloon runner, and the Resolver for the closing ceremony.

I also wrote the toolkit that imports problems straight from Polygon into PC² — tests, validators, time limits, and all — which turned a full day of manual setup into a single command.

  • PC² 9.10
  • Bash
  • Python
  • Polygon
  • SvelteKit
  • Linux
05

Graphify — Codeforces skill analytics

Tooling · coaching

A coaching tool that reads a competitor's full Codeforces history and turns it into something actionable: per-topic mastery scores, a tag graph of which skills unlock which, and an SM-2 spaced repetition queue that decides what they should solve next week.

I built it because "solve more problems" is bad advice, and I wanted my students to get a specific answer instead.

  • Python
  • Codeforces API
  • NetworkX
  • SM-2
Also

On the bench

  • PLC Delta DVP ladder programs: sorting line and sequential conveyor control
  • Backend Student tracking API: FastAPI, PostgreSQL, idempotent upserts
  • Robotics ROS 2 occupancy-grid viewer rendering a live cost map at 10 Hz
  • Freelance Product catalogues with QR generation and usage analytics
03 / Systems

System & database design

Three decisions I had to argue for, including what each one cost. Architecture is only interesting when you say what you gave up.

01

Protecting video without paying for DRM

Access Gate · system design

Problem

Instructors were losing income to recordings that leaked the day after class. Commercial DRM was priced far out of reach for a small platform.

Approach
  • Video is transcoded to HLS and every segment is encrypted AES-128 at rest on Cloudflare R2.
  • Keys are issued per session, short-lived, and bound to a JWT — a key that leaks is worthless within minutes.
  • On Android the content key arrives wrapped and is unwrapped by an RSA private key generated inside the TrustZone-backed keystore, so the plaintext key never sits in memory the app can dump.
  • Enrollment runs through a Telegram bot that mints access codes, so an instructor can sell a seat from their phone.
Trade-off

Encrypted HLS is not DRM and I do not pretend otherwise — a determined attacker with a rooted device can still capture output. It raises the cost of extraction from "one click" to "real work", at zero licensing cost and with full control of the pipeline. For this market that was the right trade.

02

Keeping writes honest and reads fast

Elkood · .NET Core, DDD & CQRS

Problem

A backend where the same models served both complex business rules and high-traffic list endpoints. Invariants leaked into query paths, and read performance was hostage to the write model.

Approach
  • Bounded contexts with aggregates that own their invariants — nothing mutates state except through the domain.
  • Commands write through the domain; queries bypass it entirely and read purpose-built projections.
  • Hot paths profiled and reworked: N+1 query elimination, targeted indexes, and caching where the data tolerated staleness.
  • API contracts documented and versioned so the front-end teams could move without waiting on us.
Trade-off

CQRS costs you a second model to keep in sync, and it is genuinely the wrong choice for simple CRUD. It paid for itself here because the read and write shapes had already diverged — we were paying the cost without getting the benefit.

03

Designing the schema before the application

Data modelling · PostgreSQL & SQL Server

Problem

Sync jobs and flaky mobile connections meant the same write could arrive twice, and reporting queries that were fine at a hundred rows fell over at a hundred thousand.

Approach
  • Idempotent upserts keyed on a natural business key, so a retried sync converges instead of duplicating.
  • Indexes chosen from the query shapes that actually run, then verified against the plan — not guessed from column names.
  • Normalised where correctness matters, denormalised deliberately and documented where read latency mattered more.
  • Migrations versioned and reversible; constraints enforced in the database, not only in application code.
Trade-off

Constraints in the database make some deploys harder and some writes slower. I take that trade every time — application code gets rewritten, and the data outlives it.

04 / Skills

What I work with

Grouped by the kind of problem rather than the language. Everything listed here I have used on something real.

01

Robotics & embedded

  • ROS 2 Jazzy — nodes, topics, services, TF
  • Autonomous navigation & sensor fusion
  • ESP32, AVR, bare-metal firmware
  • Orange Pi 5 Max, Raspberry Pi bring-up
  • RPLidar C1, ultrasonic arrays, BMS
  • PCB design & hardware debugging
02

IoT & connected systems

  • RS-485, UART, I²C, SPI field buses
  • Hardware-timed protocol framing
  • Telemetry ingestion & device monitoring
  • Edge inference on constrained hardware
  • Sensor networks & data acquisition
  • Battery management & power telemetry
03

Control & automation

  • PID & state-space control
  • Robust control, LFT, system identification
  • Supervisory & Max-Pressure control
  • Finite state machines as safety layers
  • Delta DVP, S7-200 PLC, ladder logic
  • MATLAB, Simulink, SCADA basics
04

Backend & system design

  • C# / .NET Core, Python / FastAPI
  • Domain-Driven Design, CQRS
  • REST API design, versioning, docs
  • JWT auth, key issuance & rotation
  • Caching & hot-path optimisation
  • Docker, Linux, Git, CI/CD
05

Databases & data modelling

  • PostgreSQL, SQL Server
  • Schema design & normalisation
  • Indexing driven by real query shapes
  • Query plan analysis & tuning
  • Idempotent upserts, versioned migrations
  • Transactions, concurrency, constraints
06

Web & front-end

  • SvelteKit, TypeScript
  • Tailwind CSS, design systems
  • Capacitor for Android delivery
  • HLS media pipelines
  • Accessible, responsive interfaces
  • Performance & Core Web Vitals
07

Vision & algorithms

  • YOLO v8 / v11, edge inference tuning
  • OpenCV, IoU tracking, EMA smoothing
  • Data structures & algorithms
  • Graph theory, dynamic programming
  • Complexity analysis & optimisation
  • Competitive programming (7 years)
05 / Experience

Experience & education

Jan 2026 — Present
Current

Robotics Engineer · SWB Technical Development

Aleppo, Syria

  • Build and program autonomous service robots on ROS 2 Jazzy, including the Manara units deployed in Mecca and Medina.
  • Wrote the C++/Python bridge that reads battery management and ultrasonic data over RS-485 into ROS 2 topics.
  • Implemented and debugged serial protocols and hardware timing for reliable battery telemetry framing.
  • Handled embedded bring-up and optimisation on Orange Pi 5 Max and Raspberry Pi with RPLidar.
Jun 2023 — Aug 2024

Backend Developer · Elkood

Aleppo, Syria

  • Designed and maintained .NET Core services using Domain-Driven Design and CQRS.
  • Built and documented APIs for front-end teams, improving interoperability across products.
  • Cut response times on hot paths by reworking queries, indexing, and caching.
  • Reviewed code across the backend team and enforced architectural conventions.
Jan 2022 — Present
Current

Problem Solving Coach · Aleppo University

Aleppo, Syria

  • Train students for ICPC-style contests through workshops, one-on-one sessions, and a structured 200-problem roadmap.
  • Technical lead for ACPC, running the judging system and contest-day infrastructure.
  • Designed assessment tools to measure progress across cohorts.
2019 — Present

BSc Electrical Engineering · University of Aleppo

Automatic Control & Industrial Automation

  • Fifth year, Department of Automatic Control and Industrial Automation.
  • Graduation project: adaptive traffic signal control using computer vision, supervised by Dr. Hassan Al-Naddaf.
06 / Contests

Competitive programming

Competitor

@Legends_Never_Die

Active on Codeforces since university, and a participant in the Syrian Collegiate Programming Contest and the ICPC regional. Seven years of this is where my debugging instincts come from — you learn quickly that the bug is almost always in the assumption you did not test.

Coach

Training the next teams

I coach students at Aleppo University and lead the technical team behind ACPC, our ICPC-affiliated local contest. That covers everything from the training roadmap and problem selection to the judge servers, validators, and scoreboard that make contest day run.

07 / Contact

Got a robot, a controller, or a backend that needs to work?

I'm open to robotics and full-stack roles, and I take on freelance work. Email is the fastest way to reach me — I reply to everything.

Location
Aleppo, Syria