I'm a Node.js Backend Engineer based in Cairo, Egypt, passionate about building secure, scalable, and production-ready REST APIs.
- 🚀 Specializing in Node.js / Express.js backend systems with MongoDB
- 🎓 Web & UI ITI Graduate — completed the 9-month Full Stack intensive at ITI (Information Technology Institute)
- 🎓 B.Sc. in Computer Science & AI — Helwan University | GPA: 3.6/4.0 — Excellent with Honors
A full-featured, fully-typed social networking REST + GraphQL API — auth, posts, comments, friend connections, admin roles, and real-time one-on-one/group chat with live like notifications.
Stack: TypeScript · Node.js · Express.js · MongoDB · Mongoose · GraphQL · graphql-http · Zod · JWT · AWS S3 · Socket.io · Multer · Nodemailer · bcrypt
Fully typed end-to-end backend built around a generic repository pattern (pagination, cursor streaming, aggregation-pipeline updates), JWT access/refresh tokens with a blocklist revocation model, and Zod validation across every route. Covers posts with tagging/likes/visibility rules, threaded comments and replies, a friend-request system, admin/super-admin role management, AWS S3 uploads via pre-signed URLs with event-driven rollback, and a Socket.io layer powering real-time OVO/OVM chat plus instant like notifications. Also ships a parallel GraphQL API (graphql-http) covering user/post queries and a likePost mutation that pushes the same real-time Socket.io notification as the REST route.
Highlights:
A secure, scalable REST API backend for an anonymous social messaging platform. Users share a public link and receive messages from anyone — senders stay anonymous, recipients stay in control.
Stack: Node.js · Express.js · MongoDB · Mongoose · JWT · Google OAuth · Bcrypt · CryptoJS (AES) · Nodemailer · Multer · Cloudinary · Helmet · Joi · Rate Limiting · nanoid · Chalk · AWS EC2 · Nginx · PM2
Full-featured anonymous messaging backend with JWT access & refresh token pairs, per-token JTI blacklist revocation, Google OAuth unified signup/login, OTP email verification (bcrypt-hashed, 2-min expiry), AES-encrypted phone numbers at rest, Cloudinary profile & cover image uploads, soft-delete + restore across users and messages, and an admin control layer for account management — all behind centralized Joi validation and a global async error handler. Deployed on AWS EC2 with Nginx as a reverse proxy and PM2 in cluster mode.
Highlights:
Live:
| Protocol | URL |
|---|---|
| HTTP | ec2-44-194-144-14.compute-1.amazonaws.com |
| HTTPS | bagged-feeble-handcraft.ngrok-free.dev |
⚠️ Hosted on AWS Free Tier — active until ~November 2026.
A blog platform REST API demonstrating a deliberate two-phase architecture — built first with raw SQL via MySQL2, then fully migrated to Sequelize ORM — covering auth, user management, and blog CRUD with associations, soft delete, pagination, and eager loading.
Stack: Node.js · Express.js · MySQL · MySQL2 · Sequelize ORM · Bcrypt
Phase 1 implements the auth layer using MySQL2 with raw parameterized queries for precise SQL control. Phase 2 migrates the entire codebase to Sequelize ORM, introducing paranoid soft delete, belongsTo/hasMany associations with CASCADE, paginated search, eager loading across related models, and Sequelize-aware centralized error handling — demonstrating fluency with both low-level SQL and high-level ORM patterns.
Highlights:
