Software Engineer TypeScript · Python · NestJS · FastAPI

I build backends that ship.

Based in Cairo. Available for freelance projects, full-time and part-time roles, remote or on-site.

Name
Hany Medhat
Role
Software Engineer
Based
Cairo, Egypt
Status
Open to work

Live in production

Two apps anyone can open right now. Built, deployed and running on their own domains.

FormaFlux

File and media processing platform: PDF, image, video, audio and document tools.

  • Developed the backend in Python and FastAPI for a web platform offering PDF, image, video, audio and document-processing utilities.
  • Built API-driven processing workflows for the Next.js application and documented the endpoints through a public Swagger/OpenAPI interface.
  • Configured production deployment, custom-domain routing and SSL/TLS with Cloudflare so the platform is publicly accessible.
  • Python
  • FastAPI
  • Next.js
  • Cloudflare
  • Swagger / OpenAPI

Autobus Complete

Real-time multiplayer Arabic word game with room codes, classic and blitz modes.

  • Built a browser-based Arabic word game with real-time multiplayer rooms, room-code joining, and classic and blitz play modes.
  • Developed NestJS WebSocket gateways with Socket.IO for bidirectional gameplay events, player connections and room-state synchronization.
  • Used Redis for session and room-state management, with Pub/Sub to coordinate multiplayer events across backend instances.
  • Next.js
  • NestJS
  • Socket.IO
  • Redis
  • Cloudflare Workers

Selected work

Backend-heavy projects with real architecture: auth, transactions, real-time and AI.

  • Freight & Logistics Supply Chain API

    Modular freight REST API with transactional status changes and row locking.

    Stack
    NestJS · TypeScript · Fastify · PostgreSQL · TypeORM · Docker Compose
    Modules
    shipments · tracking logs · volume calculation
    Security
    JWT · RBAC
  • Bazar — E-Commerce API

    E-commerce API with products, orders, stock adjustments and role-guarded admin routes.

    Stack
    NestJS · TypeScript · PostgreSQL · TypeORM · Passport.js
    Modules
    users · categories · products · reviews · orders
    Security
    Passport JWT · role guards
  • Blended Learning Management System

    E-learning backend with quizzes, assignments, grading and real-time chat. Graduation project, grade A+.

    Stack
    NestJS · TypeScript · PostgreSQL · TypeORM · Socket.IO
    Modules
    courses · users · quizzes · assignments · submissions · materials · dashboards
    Security
    JWT / Passport · RBAC
  • AI Resume Analyzer

    Compares a resume PDF with a job description and returns a match score with AI feedback.

    Stack
    Python · Streamlit · Groq · Sentence-Transformers · scikit-learn · pdfminer.six
  • Amazon App Clone

    Flutter commerce client with an admin panel, image uploads and earnings analytics.

    Stack
    Flutter · Dart · REST API · Provider · Cloudinary
    Modules
    auth · products · search · cart · orders · admin panel

What I can build for you

Each service points to a project you can open and judge.

Stack

Languages
  • TypeScript
  • JavaScript
  • Python
  • SQL
  • Dart
  • Go
Backend and APIs
  • Node.js
  • NestJS
  • FastAPI
  • Express.js
  • Fastify
  • REST
  • WebSockets
  • Socket.IO
  • Gin
  • GraphQL
  • Microservices
Front end and apps
  • Next.js
  • Flutter
  • Streamlit
Data
  • PostgreSQL
  • MySQL
  • MongoDB
  • Redis
  • SQL Server
  • TypeORM
  • Prisma
Architecture and security
  • Modular architecture
  • Dependency injection
  • DTO validation
  • JWT
  • Passport.js
  • RBAC
Delivery
  • Git
  • Docker
  • Docker Compose
  • Linux
  • Nginx
  • Cloudflare
  • GitHub Actions
  • Swagger / OpenAPI
  • Postman

Education

B.Sc. in Computer Science

Modern University for Technology and Information (MTI)

  • 2020 – 2024
  • GPA 3.0 / 4.0
  • Graduation project: Blended Learning Management System, grade A+
  • Military status: completed

Work with me

Tell me what you need. I reply by email, usually within a day.

The message form is not connected yet, so your email app will open with the message filled in.