Skills & Stack
Skills & Education
karim@portfolio:~$ tree ./skills
12 directories
Tech Stack
How I Work
From discovery to ongoing support
- 01
Discover
I learn how your business actually operates before proposing how to change it.
- 02
Plan
A scoped roadmap sequenced around what matters most first.
- 03
Design
Interfaces and system architecture designed around your real workflows.
- 04
Develop
Built in phases you can see and test, not delivered as one black box.
- 05
Test
Validated against the workflows it needs to survive, not just a demo script.
- 06
Launch
A rollout plan for your team, not just a deployment to a server.
- 07
Support
I stay reachable after go-live to keep things running smoothly.
- React.js
- Next.js
- TypeScript
- JavaScript
- Tailwind CSS
- Node.js
- Express.js
- REST API
- PostgreSQL
- Elasticsearch
- MongoDB
- AWS
- GCP
- Docker
- Kubernetes
- Microservices
- CI/CD
- Security
- Version Control (Git)
- Linux
- Testing (Jest, Postman)
- Spring Boot
- Angular
- Vue.js
- NestJS
- Laravel
- ASP.NET
- Java
- C#
- Python
- C++
- PHP
- Redis
- System Design
Projects
Designs
concept 01 / 06pizza & feteer
El Top Pizza MVP التوب
concept · not in production


El Top Pizza MVP, design A: Street poster, English
Experience
Freelance Software Engineer
- AMSY ERP (AMSY Group): Architected and built an ERP for a group of four companies, gathering requirements directly from the client and from employees across different departments. case study →
- Project Management: tender and project management with bills of quantities, milestones, phases, cost and material tracking, and risk management. Project progress is measured with earned value management (EVM).
- AI Imports: the Claude API turns messy legacy PDF and Excel files into structured BOQs, tenders and complete projects and fills in missing required data, with users reviewing everything before it’s imported.
- HR & Approvals: employees, departments, documents, geofenced attendance, and configurable multi-step approval cycles for leave, loans, trips, financial and custom requests.
- Real-Time: one-to-one and group chats with typing indicators, presence awareness (online and last active) and file attachments, plus live notifications, all over WebSockets.
- Object Storage: private Cloudflare R2 bucket with short-lived presigned uploads and downloads, batched so many files need a single request. File types and sizes are enforced in the signed URL and verified after upload, with per-record access checks and scheduled cleanup of abandoned, orphaned and discarded files.
- Security: granular permission-based access control, where roles bundle permissions and administrators assign roles or individual permissions to each user, plus endpoint-specific rate limiting.
- Deployment: Google Compute Engine behind Cloudflare and NGINX, SSH only via IAP tunnels, and observability with Google Cloud Ops Agent (metrics and logs). Deploys back up the database first and roll back automatically if the health check fails. Nightly public-key-encrypted pg_dump backups go to Cloudflare R2 with a 30-day immutability lock.
- Epco Group Company Website: Rebuilt EPCO’s website using a modern tech stack, reducing the homepage size from 8 MB to 1 MB (8x faster on mobile) and improving technical SEO to achieve a first-place Google ranking. Added a full marketplace with individual product pages, automatic bilingual support, and automatic light/dark theme detection based on user preference.
Back-End Engineering Intern (Node.js / NestJS)
- Developed and maintained backend services for Past Papers Academy, an educational platform serving students with online access to academic past papers and learning resources.
- Added database indexes for efficient query execution and improved backend performance.
- Implemented rate limiting and secure OTP generation to strengthen API security.
Contact
Have something in mind? I’d love to hear from you.

