OPEN TO WORK · SOFTWARE ENGINEERING
Mahmoud Adel
Software Engineer — Python/Django/FastAPI, Linux/Docker | B.Sc. Software Engineering
Python · Django/FastAPI · Linux/Docker · PostgreSQL
Based in Egypt (UTC+2) · Open to Remote & Global Relocation
I build software end-to-end — from architecture and APIs to automated delivery and operated Linux systems — with security as a design lens, not an afterthought.
At a glance
At a Glance
30-second scan — role, core stack, links and snapshots. Scroll for evidence.
Role
Software Engineer — Python/Django/FastAPI, Linux/Docker | B.Sc. Software Engineering
Python · Django/FastAPI · Linux/Docker · PostgreSQL
Based in Egypt (UTC+2) · Open to Remote & Global Relocation
Core Skills
- Python
- Django
- FastAPI
- PostgreSQL
- Linux
- Docker
- GitHub Actions
- Nginx
- JavaScript
- C# / .NET
Verified in shipped projects & internships — see projects & credentials
Quick Links
Experience Snapshot
- Tomsk State University — Software Engineer Intern 2 prototypes · 12 UML & component diagrams · Full SDLC & docs · Builds architecture that makes systems testable
- Bastion Cybersec Solutions — Application Security Intern Authorized web/API assessments · Top 5 / 100 competition · Secure-coding fixes · Informs secure defaults in my builds
Education
- B.Sc. Software EngineeringTomsk State University — Conferred Jul 2026Sep 2022 – Jul 2026
HR & ATS · Verified
Credentials & Education
Formal degree + practical courses — ordered by dev relevance, not badge count. All items verifiable via provider.
Docker & Kubernetes: The Complete Guide
Udemy — 2024
View coursePython for DevOps
LinkedIn Learning — 2024
View coursePostgreSQL: Advanced Queries
Coursera — 2024
View courseLinux Administration & Shell Scripting
Udemy — 2024
View courseREST APIs with Django & Python
Udemy — 2023
View courseCCNA
Cisco — 2020
View courseDevOps 101
Udemy — 2024
View courseGit & GitHub Complete Masterclass
Udemy — 2023
View courseIntroduction to DevOps
IBM — 2023
View credentialGoogle Cloud Fundamentals
Google — 2023
View credentialSelected work
Projects
A selection of builds that show how I turn ideas into working products — from desktop apps to full-stack platforms. Each case shows the problem, what was built, and how it runs.
CollabEditor — Real-Time Collaborative Document Editor — Thesis 2025–2026
Distributed teams suffer file-share chaos, lost changes from manual merges, and all-or-nothing permissions — need conflict-free live collaboration with scoped access.
Built with Django 5.2 + DRF 3.14 + Channels 4.0 + Daphne 4.0 (ASGI) serving React 18 + Quill 2.0. Django handles REST and JWT auth; DocumentConsumer over WebSockets manages CRDT merge, presence and chat via Redis channel layer. PostgreSQL is the durable store for Document, permissions, classrooms and versions.
CRDT-like Decimal keys (prec 28) + Lamport clock in DOC_STATES for conflict-free inserts, line-col anchored edit_ranges with █ redaction resilient to inserts, room fan-out via channels-redis, Quill Delta JSON persistence, DocumentVersion history + restore, in-doc chat with @mentions
Four-tier ACL (owner / full / partial_write with edit_ranges / read) with server-side read redaction and write rejection, JWT for REST and WS ?token= handshake, revocable DocumentShareLink and ClassShareLink
Daphne ASGI serving HTTP+WS, Redis channel layer group_send, PostgreSQL 16, Docker-ready layout, docs/assets demos and PlantUML diagrams
- Python
- Django 5.2
- Django Channels 4.0
- Daphne (ASGI)
- React 18
- Quill 2.0
- WebSockets
- CRDT
- PostgreSQL 16
- Redis
- JWT
- Tailwind CSS
ALBrowser - Modern Desktop Web Browser
Linux users need a lightweight, privacy-focused desktop browser with clear tab organization without relying on large commercial browsers.
Built with Python and PyQt6 using QtWebEngine (Chromium) for rendering. Implements a dark UI, tab groups and native navigation controls as a standalone desktop application. Distributed as a Linux .deb package for straightforward installation.
Custom tab-group management, native desktop integration and .deb packaging for Linux distribution
Local-only browsing state; leverages Chromium content handling through QtWebEngine without remote data collection
Linux .deb packaging for distribution; verified on Linux desktop environments
- Python
- PyQt6
- QtWebEngine
- Chromium
- Desktop App
- Linux
Team Work Platform
Teams need a shared workspace for tasks, kanban boards and progress visibility without fragmented tooling.
Built with FastAPI, SQLAlchemy, Jinja2 and Vanilla JavaScript. Provides dashboards, kanban workflows, analytics, real-time notifications and export tools in a single full-stack platform. JWT-secured endpoints with server-rendered UI.
Kanban state management, dashboard analytics, role-aware task flows, notification subsystem and export utilities
JWT-based authentication protecting API routes and session handling
Modular backend/frontend layout; structured for Docker deployment and Git-based workflow
- Python
- FastAPI
- SQLAlchemy
- Jinja2
- JWT
- Full Stack
TicketPro - Support Ticket Management System
Support teams need ticket tracking with real-time updates and access control.
Built with Django, Django REST Framework, PostgreSQL and WebSockets with a Tailwind CSS frontend. Covers ticket lifecycle, status tracking and real-time channel updates. Role-aware views separate support and requester workflows.
Ticket model with role-based access, WebSocket channels for live updates and REST API for ticket operations
Role-based access control (RBAC) with authenticated API endpoints
Docker-ready configuration with PostgreSQL persistence; prepared for CI deployment
- Python
- Django
- Django REST Framework
- WebSockets
- PostgreSQL
- Tailwind CSS
Engineering notes
Featured Writing
Short, practical notes on software engineering, DevOps, and infrastructure — 3 featured, the rest in the archive.
Python CI/CD with GitHub Actions — Test, Build, Deploy
Automating Python CI/CD with GitHub Actions — matrix tests, Docker builds, and zero-touch deployment from commit to container
Read articleDocker Compose for Reproducible Python Development
Reproducible Python dev environments with Docker Compose — multi-service YAML, hot-reload overrides, and production parity from local to deploy
Read articleHardening a Linux Server — SSH, Firewall, and Beyond
Hardening a Linux server for production — SSH key-only auth, UFW/Fail2Ban, user management, and monitoring drawn from app-sec practice
Read articleExplore
The Engineering Path
BUILD → AUTOMATE → OPERATE → SECURE — every node links to shipped work or documented practice
Interactive evidence map: Build, Automate, Operate and Secure. Hover nodes for details, toggle list view for recruiter-friendly scan.
Experience
Experience
Two focused internships — application security and software engineering — listed in chronological order and tied to verifiable work.
Software Engineer Intern
Tomsk State University · Feb 2025 - Present
Application Security Intern
Bastion Cybersec Solutions · July 2024 - September 2024
About
Full-stack builder, systems-aware engineer
I build software end-to-end and operate the systems around it — with security as a design lens.

Focus areas
Where I contribute
BUILD
- Python
- Django
- FastAPI
- REST APIs
- WebSockets
- PostgreSQL
- JavaScript
- C#/.NET
OPERATE
- Linux
- Linux Server Administration
- Nginx
- networking
- Docker
- self-hosted services
SECURE
- Application Security
- security testing
- Linux hardening
- secure development
- vulnerability assessment
Philosophy
How I Build
BUILD · AUTOMATE · OPERATE · SECURE — Find the need, ship the system, run it, and think about how it could fail.
BUILD — Software & APIs
- Python · Django · FastAPI
- PostgreSQL · Redis · REST · WebSockets
- JavaScript · C#/.NET
Design for clarity — clean models, versioned APIs, testable services. Evidence: CollabEditor, TicketPro
AUTOMATE — CI/CD & Tooling
- Git · GitHub Actions · Docker
- CI/CD Pipelines · Reproducible Builds
Ship reproducibly — automation that fails fast and delivers cleanly. Evidence: Team Work Platform
OPERATE — Infrastructure
- Linux · Nginx · Networking
- Docker · Hugo static → VPS
Run lean and observable — containers, reverse proxy, hardened VPS. Evidence: Hugo + Nginx
SECURE — Design Lens
- RBAC · JWT · CSRF · AuthZ
- Linux hardening · least privilege
- Secure defaults from day one
Security informs how I build: validate input, scope access, and think about failure modes early. Evidence: Bastion · secure fixes
Every stage inherits the earlier one — architecture shapes code, automation shapes delivery, operations shapes where flaws can live.
Communication
Language Proficiency:
- Arabic
- Native
- English
- C2 — Proficient
- Russian
- C1 — Advanced
3 engineering notes in archive — Browse all →
Capabilities
Detailed Skills Matrix
Evidence-tiered and honestly scoped — Core · Applied · Exposure — strongest to exposure, no percentage scores.
Core
Daily use — verified in shipped projects and internships
- Python
- Django
- FastAPI
- PostgreSQL
- Linux
- Docker
- Git
- GitHub Actions
Applied
Used in production projects with documented practice
- Nginx
- WebSockets
- JavaScript
- C#/.NET
- SQLAlchemy
- REST APIs
Exposure
Hands-on exposure, not primary expertise — no proficiency percentages
- Kubernetes
- AWS
- Redis
- MongoDB
- GraphQL
Tiers reflect hands-on evidence: Core = daily use in shipped projects & internships · Applied = production projects with documented practice · Exposure = hands-on exposure, not primary expertise.
Next conversation
Let's build something
Build it. Ship it. Secure it.
Let's build systems that work — and understand why they fail.