I build software by understanding what happens beneath the abstraction.
From backend architecture and distributed systems to HTTP servers, shells, version control internals, and reverse engineering.
name Ali Itawi
role Software Engineer @ Murex
location Lebanon
education B.Sc. Computer Science
B.Sc. Mathematics
training 42 Beirut
focus Backend · Systems · Architecture · Testing · Security
practice 800+ algorithmic problems
My background sits at the intersection of software engineering and mathematics.
I enjoy problems where correctness, performance, architecture, and low-level behavior actually matter — whether that means designing a backend service or understanding exactly what happens between an HTTP request and the operating system.
|
AI-powered full-stack application generator. Turns natural-language application requirements into a generated Spring Boot + Next.js codebase.
|
🌑 VoidA Git implementation written from scratch in C. Object storage, binary index handling, packfiles, delta reconstruction, merging and transport internals.
|
🌐 WebservAsynchronous HTTP/1.1 server implemented from scratch in C++98. Built around an event-driven architecture with
|
A Bash-like Unix shell built from scratch. Includes lexical analysis, parsing, pipelines, redirections, heredocs, expansion, signals and process management.
|
|
Reverse-engineering exercises centered around understanding compiled binaries without source code.
|
Educational ransomware simulator built for isolated security research. Uses authenticated encryption, password-based key derivation and containerized execution.
|
LANGUAGES
Java · C · C++ · TypeScript · JavaScript · Python · SQL · Bash
BACKEND
Spring Boot · Hibernate · Express.js · REST · Next.js
DATA
PostgreSQL · MySQL · MongoDB · Redis
INFRASTRUCTURE
Linux · Docker · Git · Jenkins · CI/CD
TESTING
JUnit · Playwright · Integration Testing · E2E Testing
ENGINEERING
System Design · Data Structures & Algorithms · Design Patterns
SOLID · OOP · Networking · Operating Systems · Security
Mathematics taught me to reason.
Software engineering taught me to build.
Systems programming taught me to question abstractions.
And solving hundreds of algorithmic problems taught me that there is almost always another way to look at a problem.
aliitawi.me · GitHub · LinkedIn · LeetCode




