Abdallah El BelkasyA. El Belkasy
Dubai --:-- 120 BPM Open to Rust · systems · backend Remote, or relocation with a visa

AbdallahEl Belkasy

I make slow systems fast.

Software engineer in Dubai. I build the software that tests network switches, the backends behind business software, and one rhythm game, on my own, from the synthesiser up.

An afternoon's work on a switch, now a coffee break.
2 h+down to~10minE‑Jam · the Rust control plane
Fonts in every copy of my game. It installs in seconds.
40 MBdown to1.5MBPolyBall · static subsets
Where PolyBall is open to testers on Google Play.
178countriesGoogle Play · closed testing

Fig. 01 · Traffic generators fire packets through a switch to the verifiers, one burst per beat at 120 BPM. What my test bench does, on my game's clock. The pointer bends the lanes and brightens the traffic under it. Click or tap to send a burst from there. Hold, and one goes on every beat. Tap on the beat and the burst goes out amber. Miss, and it dies red at the switch. PolyBall's own window: 60 ms either side.

Selected work

Three things, most relevant first

The problem, what got built, which part was mine, and what changed. Every number below has its source next to it.

Case 01 · 2023

E‑Jam A test bench for network switches, spread across many machines.

My part
The Admin Client: Center Point (Rust), the Flutter client, and the Kafka layer between them
When
Jan – Aug 2023
Context
Graduation project, five developers
Licence
MIT, public on GitHub

The problem

A switch is the box every packet in an office passes through, and a new one has to prove it can carry full traffic without dropping or delaying anything. The proof is a standard set of measurements at several frame sizes, each repeated many times. Run by hand, one full pass cost an engineer more than two hours, and the hand was the slow part.

What we built

E‑Jam spreads the work across as many machines as you give it. On each one, C++ generators fire traffic at the switch and verifiers check what comes back out, every process in its own container. Their statistics stream home over Apache Kafka, typed against a schema registry, and the client charts them while the test is still running.

My part

The repository calls it the Admin Client, and it is one path: something happens on a node and it has to reach a chart. I worked on all three pieces of it. Center Point, a Rust service on Actix Web, whose REST API drives every stream, device and process through explicit state machines. The Kafka layer that carries every node's statistics home, Avro-typed against a schema registry. And the Flutter client that configures a run and draws the results live.

Read the full case study

What changed

One full test pass, from an afternoon to a coffee break.
2 h+down to~10minCV · E‑Jam
Tests that were run by hand now run themselves and grade the result.
5+casesCV · E‑Jam
Commits, the largest share in a team of five.
256/ 548GitHub · contributors
  • Rust
  • Actix Web
  • Apache Kafka
  • Avro
  • Java
  • Spring Boot
  • C++
  • Dart
  • Flutter
  • Docker
Fig. 02 · One switch test cycle, drawn to scale: over 120 minutes by hand, about 10 minutes with E-Jam.

Case 02 · 2026

PolyBall A rhythm game I designed, coded and shipped alone.

My part
All of it: design, code, audio, release
Version
0.10.8 · downloads for desktop and Android
Status
Google Play closed testing
Runs on
Android · web · desktop

The problem

A rhythm game lives or dies on whether the tap lands on the beat, on a cheap Android phone as surely as on a desktop, in fifteen languages. With one person on the team, nothing can depend on remembering a step.

What I built

An audio engine that performs every note as you play it: sixteen additive voices, colour mapped to chord degree, bass and arpeggio and lead laid down on a swung grid. No music files ship. Around it, continuous integration across six build targets, driven by bots that play twenty-four runs a pass and miss on purpose, so the economy numbers come out looking like a real player's. Opt-in telemetry re-derived the difficulty curve from real thumbs instead of my guesses. Fifteen locales, with Arabic laid out right to left and checked by tests rather than by eye.

The game's own page, and how it is built

What changed

Where the closed test is open to players today, with a browser build for everyone else.
178countriesGoogle Play
Dead payload cut out of every export, before the fonts were touched at all.
−32MBCV · PolyBall
Fonts in every export, after replacing variable faces with static subsets.
40 MBdown to1.5MBCV · PolyBall
  • Godot 4
  • GDScript
  • GitHub Actions
  • Supabase
PolyBall home screen: a nine-colour polygon ring, Classic mode selected, best score 28. Mid-run: score 29 on a combo of 6, a ball falling toward the ring. Mega Fever: score 399 at triple score, the ring glowing amber.
Fig. 03 · Three in-game screens from v0.9.2.

Case 03 · 2025 – now

Odoo The database and business logic behind enterprise software.

Python and PostgreSQL work at Odoo PSAE in Dubai: data models, business logic, database fixes and performance work across more than a hundred client projects. Five of the vertical modules I designed are now used by every client in their segment, which is a hundred conversations about customisation that nobody has to have any more. I also review partner code against Odoo's own framework and development standards. Star of the Month, July 2026.

  • Python
  • PostgreSQL
  • Odoo ORM
  • REST APIs
Enterprise client projects, in Python and PostgreSQL.
100+projectsCV · Odoo PSAE
Vertical modules adopted by every client in their segment.
5+modulesCV · Odoo PSAE

Path

How I got here

  1. 2025 – nowSoftware engineer, Odoo PSAE, Dubai.
  2. 2023 – 24Mandatory national service, Egypt. The year the commit graph goes quiet.
  3. 2023E‑Jam, graduation project, remote from Cairo. Center Point and the admin client.
  4. 2023B.Sc. Computers and Artificial Intelligence, Cairo University. GPA 3.5/4.0, Excellent with Honours, top 100 of 800+.
  5. 2022Android developer intern, Banque Misr. Kotlin and Java, MVVM, REST.
  6. 2021ICPC contestant.

About

AbdA for short

Compiled in Cairo, deployed in Dubai on UTC+4. I like the part of engineering where a number moves: a two-hour test run that becomes ten minutes, a 40 MB font bundle that becomes 1.5 MB, a frame that lands on the beat. After dark I produce music, the gym playlist is about 40% tracks I made, and nobody can stop me.

Based in
Dubai, UTC+4
Nationality
Egyptian
Looking for
Rust, systems and backend roles
Where
Remote, or relocation with a visa

Can do

Sound
16 synth voices, no music files shipped
Languages
15 locales, two of them Arabic, right-to-left tested
Shipping
Six build targets from one CI run
Contests
ICPC contestant, 2021
Code
Rust, C++, Python, SQL, Java, Dart, GDScript
Systems
Kafka, Docker, Linux, PostgreSQL, Actix Web, Spring Boot, Django, Odoo ORM
Tools
Godot 4, Flutter, GitHub Actions