[{"content":"I’m Assem, a final-year Computer Science student and backend engineer passionate about DevOps, Linux, and open-source technologies. I enjoy building efficient systems, exploring new tools, and contributing to others’ work on GitHub and similar platforms.\nWhat I Can Do # Backend Engineering APIs that scale — built with Node.js, Express, and clean architecture.\nRead more → Linux \u0026amp; DevOps Engineering Deploying and managing production-grade Linux servers using Docker and open-source tools.\nRead more → Static Website Development Creating blazing-fast SEO-friendly websites for developers, startups, and creators.\nRead more → Technical Mentorship Helping students and junior developers master backend engineering and Linux.\nRead more → How I Work # My process goes like this:\nRequirement discussion System design Clean implementation Dockerized deployment Documentation Post-delivery support I absolutely LOVE structure!\nFeatured Projects # GDG Session Automation App Automated processing and uploading of large session recordings.\nRead more → Self-Hosted Linux Infrastructure Production-style Linux server running 13 containerized services behind a secure reverse proxy with automated SSL and firewall hardening.\nRead more → Beyond the Code # Led and coordinated technical teams through university initiatives and student activities, organizing workshops and collaborative projects. Represented my university at multiple events, delivering technical presentations and public talks. Mentored students in programming fundamentals and competitive problem-solving, helping them strengthen their technical foundation. I believe strong engineering is not only about writing code, but also about clear communication, leadership, and knowledge sharing.\nTech Stack # Backend \u0026amp; APIs — Node.js · Express.js · REST APIs · JWT · htmx\nProgramming — JavaScript · TypeScript · Python · Bash\nInfrastructure \u0026amp; DevOps — Linux · Docker · Ansible · Proxmox · Nginx · Nginx Proxy Manager · CI/CD\nDatabases — MongoDB · SQLite · Microsoft SQL Server\nWeb \u0026amp; Frontend — Hugo · HTML · CSS · AngularJS\nTools \u0026amp; Workflow — Git · Vim · VS Code · Obsidian · Zettelkasten\nLet's Build Something Together Open to work, freelance projects, and collaborations. I respond fast on WhatsApp.\n💬 Message me on WhatsApp View GitHub ","date":"1 March 2026","externalUrl":null,"permalink":"/","section":"","summary":"","title":"","type":"page"},{"content":"","date":"1 March 2026","externalUrl":null,"permalink":"/tags/automation/","section":"Tags","summary":"","title":"Automation","type":"tags"},{"content":"","date":"1 March 2026","externalUrl":null,"permalink":"/tags/backend/","section":"Tags","summary":"","title":"Backend","type":"tags"},{"content":"","date":"1 March 2026","externalUrl":null,"permalink":"/tags/devops/","section":"Tags","summary":"","title":"DevOps","type":"tags"},{"content":"","date":"1 March 2026","externalUrl":null,"permalink":"/tags/docker/","section":"Tags","summary":"","title":"Docker","type":"tags"},{"content":"A backend automation system that processes, compresses, and uploads large session recordings automatically to YouTube — eliminating manual work and saving hours per event.\nThe Problem # At our university’s Google student activity, we use Bevy — Google’s official event management system — to organize sessions, manage attendance, and send emails.\nIt works great. There’s no session time limit like the free version of Google Meet, and recordings are generated automatically in high quality.\nBut there was a major issue:\nRecordings were 2–5 GB each\nNo option to reduce quality\nNo automatic upload to platforms like YouTube or OneDrive\nEverything had to be done manually\nAfter every session, someone from the team (usually the activity lead) had to:\nDownload the recording\nCompress it using tools like HandBrake\nRe-upload it to YouTube or cloud storage\nEven after compression (e.g., 3GB → 500MB), the process could take over an hour per session.\nIt was repetitive, time-consuming, and inefficient.\nWe needed automation.\nInitial Approach (And Why It Failed) # I first attempted to build a cloud automation workflow using n8n.\nWhile promising, it had two major limitations:\nFiles were processed in RAM instead of disk storage (requiring high-memory servers) Files larger than 2GB were unstable and prone to crashing This made it unsuitable for large session recordings.\nThe Solution # Instead of patching the problem, we decided to build a dedicated system from scratch.\nI developed a custom backend automation platform using:\nNode.js\nExpress.js\nTypeScript\nhtmx (for lightweight dynamic frontend interactions)\nDocker (for containerized deployment)\nCI/CD for streamlined updates\nThe system:\nAccepts a recording link\nDownloads the file safely\nCompresses it\nUploads it automatically to YouTube\nOrganizes uploads properly\nAll with minimal manual intervention\nImpact # Successfully processed and uploaded 90+ session recordings\nEliminated repetitive manual work\nSaved hours of internet bandwidth and processing time\nReduced human dependency and operational overhead\nUsed actively by the university’s GDG chapter\nUploads are publicly visible on the activity’s YouTube channel:\n👉 GDG on Campus MUST\nhttps://www.youtube.com/@GDGoCMUST\nTechnical Highlights # Handles large file streaming safely\nDesigned to avoid high memory consumption\nContainerized with Docker\nProduction deployment on a cloud server\nCI/CD enabled for easy iteration\nFully open-source\nOpen Source # The project is completely open source and available on GitHub:\nhttps://github.com/ToYoNiX/gdgoc-automation\nContributions are welcome.\n","date":"1 March 2026","externalUrl":null,"permalink":"/projects/gdgoc-session-automation-platform/","section":"Projects","summary":"","title":"GDG Session Automation App","type":"projects"},{"content":"","date":"1 March 2026","externalUrl":null,"permalink":"/tags/infrastructure/","section":"Tags","summary":"","title":"Infrastructure","type":"tags"},{"content":"","date":"1 March 2026","externalUrl":null,"permalink":"/tags/linux/","section":"Tags","summary":"","title":"Linux","type":"tags"},{"content":"","date":"1 March 2026","externalUrl":null,"permalink":"/projects/","section":"Projects","summary":"","title":"Projects","type":"projects"},{"content":"Designed and managed a self-hosted Linux infrastructure running 13 containerized services behind a secure reverse proxy with automated SSL and network isolation.\nI designed and maintain a self-hosted Linux server running 13 containerized services using Docker.\nThe setup includes:\nReverse proxy management with Nginx Proxy Manager Domain-based routing Automatic SSL certificates via Let\u0026rsquo;s Encrypt Isolated Docker networks for secure service communication Firewall configuration and server hardening Persistent volumes and container lifecycle management This environment allows me to simulate production-level deployment workflows and continuously experiment with open-source technologies.\nInfrastructure Stack # OS: Debian Linux Containerization: Docker \u0026amp; Docker Compose Reverse Proxy: Nginx Proxy Manager SSL: Let’s Encrypt Networking: Custom Docker bridge network for proxy isolation Security: UFW firewall configuration Domain routing with DNS configuration ","date":"1 March 2026","externalUrl":null,"permalink":"/projects/self-hosted-linux-infrastructure/","section":"Projects","summary":"","title":"Self-Hosted Linux Infrastructure","type":"projects"},{"content":"","date":"1 March 2026","externalUrl":null,"permalink":"/tags/self-hosting/","section":"Tags","summary":"","title":"Self-Hosting","type":"tags"},{"content":"","date":"1 March 2026","externalUrl":null,"permalink":"/tags/","section":"Tags","summary":"","title":"Tags","type":"tags"},{"content":"Welcome to by Articles!\n","date":"7 November 2025","externalUrl":null,"permalink":"/blog/","section":"","summary":"","title":"","type":"blog"},{"content":"My home lab journey began in January 2025, almost a year before writing this. I had always been fascinated by home servers and the idea of running my own services, but it wasn’t until then that I finally decided to act on it. I didn’t want to jump straight into buying expensive hardware only to let it gather dust, so I followed Techno Tim’s advice and started with what I already owned: a desktop PC and a laptop. That simple beginning was the first step into a surprisingly deep rabbit hole.\nFirst Steps — My Services, My Rules # I launched a few services on my main PC, and at first, everything worked flawlessly. Then I left the house. Suddenly the obvious hit me: how do I access any of this from outside my home network? A little research revealed two main options: either expose my services to the internet using a domain and a public IP, or create a secure tunnel back into my home using a VPN. Getting a static IP in Egypt is both costly and frustrating, and the idea of publicly exposing my services as a beginner was more than a little nerve-wracking. So I chose the safer path—an overlay VPN using Tailscale or ZeroTier. Just like that, I could securely access everything from anywhere, without needing a public IP. A smooth victory.\nThen Came the Electricity Bill… # There was one major flaw in the plan: everything ran on my power-hungry desktop PC. That meant leaving it on around the clock, burning through electricity and money at an alarming rate. To fix that, I built a VPN router—a simple router that also joined my overlay VPN. It used only a few watts of power and still allowed me to turn my PC on remotely with Wake-on-LAN or shut it down using SSH. Power savings improved dramatically, and I enjoyed the comfort of remote access without leaving a full desktop running 24/7. But another monster was waiting in the shadows.\nPower Cuts: The True Villain # Egyptian power loves drama. A flicker here, a blackout there, and no warning at all. On personal devices, it’s annoying. On servers, it’s catastrophic: corruption, hardware stress, strange failures… and worst of all, Wake-on-LAN completely breaking. WOL only works when the PC still receives a tiny bit of standby power; if electricity fully drops even for a moment, the network card loses its memory of what to listen for. Suddenly, the only way to power the PC on again is by physically pressing the button. As someone relying on remote access, that was a nightmare scenario.\nEnter: The UPS # The solution seemed straightforward: buy a UPS. With that upgrade, sudden outages stopped causing data corruption and WOL became reliable again—at least technically. The problem was that my desktop drained the UPS unbelievably fast. I was lucky to get five minutes of battery life out of it, while my router alone could last almost three hours. The imbalance made it clear that the PC was the culprit. I even briefly entertained the idea of building a DIY shutdown controller powered by batteries—an interesting idea, but ultimately a sign that it was time for a different approach.\nThe Game-Changer — Thin Clients # The breakthrough arrived almost by accident. While exploring a local PC parts market, I came across something intriguing: thin clients. These tiny, efficient machines were built for light workloads and minimal power consumption. Where my desktop idled at around 45 watts, a thin client under load consumed only 10 to 20 watts. It was perfect. I bought one, installed Linux and Docker, migrated my services… and the results were astonishing. My UPS backup time shot up from five minutes to almost two hours, and everything ran quieter, cooler, and far more efficiently. Just like that, my home lab evolved into something truly practical.\nWhere Things Stand Today # After nearly a year of experimenting, breaking things, learning from mistakes, and upgrading piece by piece, I’ve now built a home lab that feels genuinely reliable. It runs on low-power hardware designed for uptime, survives unexpected outages, supports secure remote access, and doesn’t terrorize my electricity bill. And the really exciting part? This was only the journey through hardware. Networking, reverse proxies, SSL certificates, free dynamic domains, automation—all of that was still ahead of me, each step introducing a new lesson and a new level of control over my digital world. I will go over these in a different article. But for now, This is just the start!\n","date":"7 November 2025","externalUrl":null,"permalink":"/blog/my-first-ever-homelab-journey/","section":"","summary":"","title":"My First Ever Homelab Journey","type":"blog"},{"content":"","externalUrl":null,"permalink":"/authors/","section":"Authors","summary":"","title":"Authors","type":"authors"},{"content":" Services: # REST API development using Express Backend architecture design Authentication \u0026amp; authorization systems (JWT, sessions, RBAC) Database integration (MongoDB / PostgreSQL / MySQL) API performance optimization Backend refactoring \u0026amp; codebase cleanup Converting monolith to modular structure API documentation (Swagger/OpenAPI) ","externalUrl":null,"permalink":"/services/backend-engineering/","section":"Services","summary":"","title":"Backend Engineering","type":"services"},{"content":"","externalUrl":null,"permalink":"/categories/","section":"Categories","summary":"","title":"Categories","type":"categories"},{"content":" Services: # Dockerizing applications Multi-container setups (Docker Compose) Linux server setup (Ubuntu/Debian/CentOS) VPS deployment (DigitalOcean, Hetzner, etc.) Reverse proxy setup (Nginx) CI/CD pipeline basics Self-hosted services setup Homelab consultation (for hobbyists/startups) ","externalUrl":null,"permalink":"/services/linux--devops-engineering/","section":"Services","summary":"","title":"Linux \u0026 DevOps Engineering","type":"services"},{"content":"","externalUrl":null,"permalink":"/series/","section":"Series","summary":"","title":"Series","type":"series"},{"content":"","externalUrl":null,"permalink":"/services/","section":"Services","summary":"","title":"Services","type":"services"},{"content":" Services: # Portfolio websites using Hugo Company landing pages Blog setup \u0026amp; customization Performance-optimized static sites SEO optimization basics GitHub Pages / Netlify deployment ","externalUrl":null,"permalink":"/services/static-website-development/","section":"Services","summary":"","title":"Static Website Development","type":"services"},{"content":" Services: # Node.js / Express tutoring Linux basics mentoring Docker for beginners workshops Backend fundamentals coaching Code reviews for junior developers University workshop sessions ","externalUrl":null,"permalink":"/services/technical-mentorship/","section":"Services","summary":"","title":"Technical Mentorship","type":"services"}]