OPEN TO NEW OPPORTUNITIES

Where can I take your product?

Software engineer at IBM. I help shape the solution with the team and clients, then design and build it. I also enjoy explaining code in simple terms.

3 YRS AT IBMFULL-STACK + CLOUD8+ PROD APPS WORKED ON20+ PUBLISHED ARTICLES

Career itinerary

Selected work

ANGULARNGRXGRAPHQLAWS AMPLIFYAWS LAMBDA

Airline & travel web apps

Front-end feature work on several production Angular apps for airline and travel clients. Booking flows, deep linking, interactive maps, real-time status tracking, and a multilingual UI that switches language at runtime. State in NgRx/RxJS; data over GraphQL and REST via AWS Amplify.

ANGULARREAL-TIMEDATA VIZ

Operations center dashboard

A real-time decision-support hub for a US utilities company. It pulls operational KPIs from several systems into one screen operators can read at a glance during an incident.

NODEJSFASTAPIAWS LAMBDACOGNITOANGULAR 21

Composability Layer

A data platform for utilities. Teams get their own workspaces, build data flows on a drag-and-drop canvas, and follow them on live metrics dashboards. Grid models are converted to the CIM standard and processed on AWS with Lambda, Step Functions and Kafka, behind role-based access in Cognito.

Engineering work

A few examples of my work across application development, system design and AWS.

FEATURE DESIGN

Designing features across the stack

ANGULARNODE.JSPOSTGRESQLAWSREST APIS

On IBM projects, I work across the feature from the existing data model and APIs to authorization and AWS resources, then write the design and work through it with the team.

For example: CSV rule import with column mapping, and a check of which rules a ruleset deletion would affect.

CONCURRENT EDITING

Handling concurrent changes

POSTGRESQLS3NODE.JSPYTHON

Worked on a multi-user platform where several people could edit the same configuration. I traced how changes flowed through the services and both storage layers (Postgres and S3), then designed and implemented an approach combining time-limited edit locks with version checks on save. A save made from an out-of-date copy is rejected with a conflict instead of silently overwriting someone else's newer changes.

WORKSPACE PERMISSIONS

Role-based access across workspaces

COGNITOJWTRBACNODE.JSPOSTGRESQL

Worked on role-based access control for a platform where a user's role can differ from one workspace to another. This covered the role model, invitations and role changes, and a Cognito pre-token trigger that adds each user's workspace roles to the access token, so every API request is checked against the role for the workspace it touches.

AUTHENTICATION

OAuth 2.0 + PKCE

OAUTH 2.0OIDCPKCECOGNITOAMPLIFY

Worked with OAuth 2.0 and OpenID Connect, including the Authorization Code flow with PKCE using Cognito and Amplify. The API authenticates requests with Cognito, and the backend uses the verified identity to check permissions.

Skills

CORE

The stack behind most of my work at IBM.

  • TypeScript
  • JavaScript
  • Angular
  • RxJS
  • Node.js
  • REST APIs
  • Git
  • AWS
ALSO WORK WITH

Used on IBM projects alongside the core stack.

  • Python
  • FastAPI
  • GraphQL
  • NgRx
  • PostgreSQL
  • DynamoDB
  • Docker
  • CI/CD
SYSTEMS

The cloud services the platforms I work on are built from.

  • AWS Lambda
  • ECS
  • S3
  • Cognito
  • API Gateway
  • CloudFormation
  • Kafka (MSK)
  • Step Functions
  • Spark on EMR
PREVIOUS PROJECTS

From earlier work and side projects, with the code on GitHub.

  • Java
  • Spring Boot
  • Spring Cloud
  • Django
  • MySQL
  • SQL Server

Writing

MINI-SERIES · IN DARIJA

Java explained in Darija

Lambdas, Comparator, Predicate, Consumer, inner classes: explained in the language a lot of beginners actually think in, because some people pick up Java faster in Darija than in English.

LAMBDASCOMPARATORPREDICATECONSUMERINNER CLASSES
Read the series

I also enjoy explaining things

CONCEPTS I LIKE EXPLAINING
Reading code you didn't writebeginner → mid
Java & Springfundamentals → microservices
Angularcomponents → NgRx
Pythonbasics → APIs
See my writing
LANGUAGES
Arabic: nativeEnglish: TOEFL 91French: C1

At IBM I help run client demos. Outside of that, I simply enjoy explaining programming concepts in a simple way, and some of my posts on dev.to come from that.

Side projects

DISTRIBUTED SYSTEMS

My Mini Souq

LT-SOUQ-01

A shop split into Spring Boot services for customers, inventory and billing, with Eureka for discovery, a Config Server for shared settings, and a Spring Cloud Gateway in front. Billing builds each invoice by calling the customer and inventory services through OpenFeign.

MICROSERVICESSPRING CLOUDEUREKAOPENFEIGNJPA
LLM

Spring LLM Gateway

LT-QNA-02

A Java service that sends a question to an LLM, stores the answer, and hands it back over a clean REST endpoint.

JAVASPRINGREST
WEB APP

Expense Tracker

LT-DEPN-03

An expense tracker split in two: an Angular front end for entering and reviewing spending, and a JEE back end holding the accounts and totals.

ANGULARJEEJAVA
ASK ABOUT ME

Questions before you write a brief?

Ask the assistant. It answers only from my CV and published posts, nothing invented.

Certifications

2026AWS Certified AI PractitionerAmazon Web Services
2025PCEP™ Python Programmer (PCEP-30-02)OpenEDG Python Institute
2024watsonx Code AssistantIBM
2023Technical Advocate CloudIBM
2023Azure FundamentalsMicrosoft
FINAL CALL

Let's talk about your product.

Tell me what's breaking or what you want to ship. I reply within a day, in English, French or Arabic.

Email me