DevOps & reliability
How every project gets from git push to production
A deployment map of the whole portfolio with the real pipeline files, the principles behind them, and the handbook and labs I learned them from.
Deployment map
Where each project runs
10 projects with a documented build-and-deploy pipeline.
| Project | Runs on | Pipeline |
|---|---|---|
| Quintrix ITSO Engine | GCP Compute Engine VM · Docker Compose · GitHub Actions |
|
| Nora Labs | Google Cloud Run (us-central1) · Vertex AI · GCS-mounted SQLite |
|
| AI Network Labs | Local — uvx cisco-pt-mcp + Packet Tracer extension; course pages on this site |
|
| CinePrompt & News Studio | Single Docker image: Vite UI + Express API + Remotion renderer + ffmpeg |
|
| Planform Studio | Static Vite build in an Nginx/Node container |
|
| The Part Timer | Google Cloud Run (API + web) · DigitalOcean App Platform scaffold |
|
| React Content Studio | Docker (APP_DIR bind-mounted into the container) |
|
| Transcript Maker | Docker / Gunicorn |
|
| CryptoEdge & TradeV1 ML | Google Cloud Run · Secret Manager · keyless Workload Identity Federation |
|
| Enterprise Inventory Management System | Docker Compose: client + server + PostgreSQL |
|
Everything else
Principles
Six rules the pipelines follow
Deploy the commit SHA
Images are tagged :$SHA and :latest; deploys always use the SHA so rollback is “deploy the previous one”.
No long-lived cloud keys
Workload Identity Federation for GCP — nothing to leak from GitHub secrets.
AI is optional
Agent endpoints fall back to deterministic engines, so a model outage degrades quality, not availability.
Limits live next to config
--max-instances=1 # SQLite has a single writer. The reason is in the file, not in someone’s head.
Platform per workload
Cloud Run for bursty APIs, a VM for heavy jobs, static hosting for content, Coolify for small things.
Test before build, build before deploy
Import smoke tests, compile checks and `docker compose config` catch broken deploys in seconds.
Series
Stories: Lessons Learned
All 5 partsReal incidents and decisions from my projects — Cloud Run problems, a trading bot that lost $67.88, the human effort behind automation, paying for cloud as a student, and zero-cost hosting with a 25-option comparison.

Stories: Lessons Learned · 4 min
Cloud Run Problems I Actually Hit — and the Morning My Demo Was Gone
Missing service accounts, region-locked models, disks that vanish, one-writer SQLite, schedulers that stop — and the build-time check that found Nora Labs returning Google's 404.
29 Oct 2026
Stories: Lessons Learned · 4 min
The $67.88 Lesson: What Two Trading Bots Taught Me About Automation
61 real trades, a profitable_trades.csv full of test rows, and a bot that bought 182 times but sold 6 — why logs aren't outcomes, and the guardrails that replaced them.
27 Oct 2026

Stories: Lessons Learned · 4 min
Automation Did the Typing. Humans Did the Work.
What automation genuinely saved across 23 projects — and the drawings, verification, font checks, hand calibration and Sinhala writing that only people could do.
25 Oct 2026

Stories: Lessons Learned · 4 min
Paying for Cloud as a Student: Budgets, Static Sites and a $10 PaaS
Budget alerts first, static by default, the minimums that quietly bill you, load balancers vs Ingress, and running a dozen apps on one Coolify VM.
23 Oct 2026
Series
The Distributed Life
All 28 partsMy life operating system in 28 essays — a life vision, 25 long-form essays in five volumes (solitude and sickness, frontier builders, logistics and leverage, social fluidity, Sri Lanka's future) and two field notes, illustrated with my own photos.

The Distributed Life · 4 min
Life Vision: The Distributed Life
What I'm building my life toward — sovereignty, antifragility and high agency — and the 25 essays that explain each part.
30 Oct 2026
The Distributed Life · 6 min
The Fig Tree at the Crossroads — Refusing Sylvia Plath's Paralysis
How I rejected false specialization and built a multi-hyphenate life operating system across Sri Lanka's roads.
29 Oct 2026
The Distributed Life · 5 min
The Bell Jar of Physical Fever — Surviving the 11-Day Island Exam Sprint
How sickness strips away vanity, forces radical syllabus triage, and turns Nietzschean Amor Fati into a biological weapon.
28 Oct 2026

The Distributed Life · 5 min
Mandaram Nuwara & Mahamevnawa — The Architecture of Tactical Stillness
Why relentless modern hustle guarantees burnout, and how deep mist and monastery stones defragment the kinetic mind.
27 Oct 2026
Series
Tourism Tech: Build a Travel Platform
All 10 partsA W3-style course in ten lessons from my tourism work — data models, static pages per place and language, themes as data, search, itineraries, WhatsApp trip requests, route optimisation, pricing and OTA links, an AI planner with a fallback, and owner-editable data.

Tourism Tech: Build a Travel Platform · 4 min
Tourism 01: Model the Island as Data
Before any page exists, describe Sri Lanka as typed data: activities, destinations, itineraries and encyclopedia articles — the schema behind the Nora Travels portal.
11 Oct 2026

Tourism Tech: Build a Travel Platform · 4 min
Tourism 02: A Static Page for Every Place
Generate one fast, cacheable page per destination and per language at build time — and why a tour guide's site needs no server at all.
12 Oct 2026

Tourism Tech: Build a Travel Platform · 4 min
Tourism 03: Your Theme Is Data Too
Brand colours as a JSON database with presets — emerald forest green, Sigiriya sunset gold — turned into CSS variables at runtime.
13 Oct 2026

Tourism Tech: Build a Travel Platform · 4 min
Tourism 04: Navigation People Can Explore: Mega-Menus and ⌘K Search
A Google Cloud-style mega-menu driven by navigation.json, and one search palette that spans activities, destinations, encyclopedia and blog.
14 Oct 2026
Series
W3DevOps: The Full Course
All 26 parts26 lessons from my W3DevOps portal, in order — Linux, Docker, Kubernetes, AWS, Google Cloud, production web and Coolify — with 136 real lab screenshots, commands, configs and a 12-question final exam.

W3DevOps: The Full Course · 3 min
Lesson 01: Linux Fundamentals for DevOps Engineers
Linux is the bedrock of modern DevOps, cloud infrastructure, containerization (Docker, Kubernetes), and server administration. Every container runs a Linux userland; every cloud VM boots Linux by default.
1 Jun 2026

W3DevOps: The Full Course · 7 min
Lesson 02: All 70 Essential Linux Commands for DevOps
Here is the complete, categorized breakdown of the 70 commands every engineer needs to know when managing Linux virtual machines, containers, and cloud clusters.
2 Jun 2026

W3DevOps: The Full Course · 6 min
Lesson 03: 70 Essential Linux Commands Quick Reference
Use the table below for rapid lookup during server maintenance, shell scripting, or technical interviews.
3 Jun 2026

W3DevOps: The Full Course · 3 min
Lesson 04: Containers vs Virtual Machines & Docker Architecture
"It works on my machine" was the bane of software engineering. Docker solved this forever by packaging an application together with its runtime, dependencies, system libraries, and configurations into a…
4 Jun 2026
Series
SRE Practical Labs
All 20 partsTwenty bilingual (English + සිංහල) hands-on labs — from kernel space and syscalls to error budgets, burn rates and the four golden signals. Each lab has step-by-step commands, expected output, practice activities and a knowledge check.

SRE Practical Labs · 4 min
SRE Lab 01: Ground Zero: Computer Hardware, Kernel Space, User Space & Syscalls
Hardware (CPU, RAM, Disk), Linux Kernel එකේ කාර්යභාරය, CPU Protection Rings (Ring 0 vs Ring 3), සහ System Calls (Syscalls) ක්රියාත්මක වන ආකාරය සරලව ඉගෙන ගනිමු.
2 Sept 2026

SRE Practical Labs · 4 min
SRE Lab 02: Linux Terminal, Bash Shell & Standard Streams (I/O & Pipes)
Command line එක ක්රියාත්මක වන ආකාරය, Standard Streams (stdin 0, stdout 1, stderr 2), Output Redirection (> සහ >>) සහ Pipes (|) භාවිතය සරලව ඉගෙන ගනිමු.
3 Sept 2026

SRE Practical Labs · 4 min
SRE Lab 03: Linux Filesystem Hierarchy & Inodes ('Everything is a File')
Linux හි 'හැමදේම File එකක්' කියන්නේ ඇයි? /etc, /var, /proc, /sys ව්යුහය, Inodes ක්රියාත්මක වන හැටි සහ Inode Exhaustion ප්රශ්නය විසඳමු.
4 Sept 2026

SRE Practical Labs · 4 min
SRE Lab 04: Linux Permissions, Ownership, Chmod & Chown Security
Linux පරිශීලක හිමිකම් (User, Group, Others), කියවීම්/ලිවීම් අවසර (r=4, w=2, x=1), chmod 755/644/400 ගණනය කිරීම සහ chown භාවිතය.
5 Sept 2026
Series
Networking, Bilingual
All 10 partsTen long chapters from my COM 3401 notes — foundations, devices, OSI/TCP-IP, IP addressing and subnetting, IPv4 and routing, transport, application protocols, how the internet works, an eight-step network design method with five case studies, and fully worked problems. Every section in English and Sinhala, with redrawn diagrams.
Networking, Bilingual · 5 min
Networking 01 — Foundations: LAN, MAN, WAN, Topologies and Protocols
What a network is, the three scales, the physical and logical topologies, clients and servers, protocols and packets — explained in English and Sinhala.
1 Aug 2026
Networking, Bilingual · 21 min
Networking 02 — Devices: Hubs, Repeaters, Bridges, Switches, Routers and Middleboxes
Every box in a network rack and what layer it works at — plus the real-world components: desk drops, patch panels, firewalls and more.
2 Aug 2026
Networking, Bilingual · 5 min
Networking 03 — The OSI and TCP/IP Models, Multiplexing and Demultiplexing
The seven-layer and four-layer models side by side, what each layer adds, and how one link carries many conversations.
3 Aug 2026
Networking, Bilingual · 6 min
Networking 04 — IP Addressing: Classful, Subnetting, CIDR, NAT, DHCP and IPv6
IPv4 addresses bit by bit, public vs private, special ranges, classful subnetting, supernetting and CIDR, NAT, DHCP and IPv6.
4 Aug 2026
Series
AI Network Labs (cisco-pt-mcp)
All 10 partsBuild, verify and troubleshoot Cisco Packet Tracer networks by prompting an AI client through cisco-pt-mcp — the open-source MCP server by Muhammad Balawal. Setup on every client, six graded labs, a troubleshooting method and a 40-device campus capstone.

AI Network Labs (cisco-pt-mcp) · 3 min
AI Network Labs 00 — Start Here: cisco-pt-mcp and the Course Map
What cisco-pt-mcp is, who built it, how an AI client drives Packet Tracer through MCP, and the one rule for every lab: write the expected config first.
10 Sept 2026
AI Network Labs (cisco-pt-mcp) · 3 min
AI Network Labs 01 — Setup on Claude Code, Cursor, VS Code and Codex
Install uv, register uvx cisco-pt-mcp with your client, add the Packet Tracer extension and get the bridge pill to say connected.
11 Sept 2026
AI Network Labs (cisco-pt-mcp) · 3 min
AI Network Labs 02 — The 18 Tools and the Build Loop
Every tool cisco-pt-mcp exposes, grouped by job, plus the plan → build → configure → verify → inspect loop and a prompt template that keeps you in charge.
12 Sept 2026
AI Network Labs (cisco-pt-mcp) · 3 min
AI Network Labs 03 — Lab: Small Office LAN
One router, one switch, three PCs: plan the addressing, write the expected IOS, prompt the build and verify with a ping.
13 Sept 2026
Series
ML Playbook: The Full Course
All 64 parts64 hands-on lessons from Python and data basics to models from scratch, evaluation, deployment and deep learning — every notebook's code and outputs, with bilingual 'why this matters' notes.
ML Playbook: The Full Course · 3 min
ML 01: Google Colaboratory Basics
This is the notebook you'll run everything else in — so before touching any ML code, you need to know how to move around it, run cells, and not lose your work.
1 May 2026
ML Playbook: The Full Course · 3 min
ML 02: Python Basics
Every ML library — NumPy, Pandas, scikit-learn — is just Python underneath. If the basics are shaky, every error message later looks like magic instead of a clue.
1 May 2026
ML Playbook: The Full Course · 3 min
ML 03: Basic Data Types in Python
A model can't learn from data it doesn't understand the shape of. Knowing int vs float vs string vs bool is what lets you spot why a calculation is silently wrong.
2 May 2026
ML Playbook: The Full Course · 3 min
ML 04: List Tuple Set Dictionary
Datasets in Python are built from these four containers. A DataFrame column is basically a fancy list; a lookup table is basically a dictionary.
2 May 2026
Essays
DevOps & SRE writing
DevOps · 11 min
How I Ship 23 Projects: Cloud Build, GitHub Actions, Keyless Auth and Coolify
The deployment map behind my portfolio — which project runs where, the real Cloud Build and GitHub Actions files, Workload Identity Federation, what tokenless PyPI publishing looks like, and five rules I now follow.
20 Oct 2026
DevOps · 4 min
SRE in Practice: Error Budget Math, Burn Rates and Blameless Postmortems
Why 99.99% means 4.38 minutes a month, how burn-rate alerts work, an error budget policy you can adopt, and the postmortem template from my SRE handbook.
6 Oct 2026
DevOps · 4 min
W3DevOps Module · Coolify: A Sub-$10/Month PaaS, Step by Step
Why I run my own Heroku-style PaaS on a single GCP VM, how Coolify works under the hood (Docker + Traefik + SSH), and the five-step process for connecting extra servers — with the real screenshots.
14 Jul 2026
DevOps · 4 min
W3DevOps Module · Production web: DNS, SSH Hardening, Nginx Reverse Proxy, Let's Encrypt and CDNs
How a domain name becomes a running app: DNS resolution, bare metal vs VMs, SSH hardening, a complete Nginx reverse-proxy config with load balancing, TLS and WebSockets, and S3 + CloudFront for static sites.
7 Jul 2026
DevOps · 4 min
W3DevOps Module · Google Cloud: Resource Hierarchy, Compute Engine, Cloud Storage and GKE
The GCP track of my handbook — the platform most of my projects actually run on. Organisation → folders → projects, gcloud, e2 VMs and Managed Instance Groups, GCS storage classes and GKE Autopilot vs Standard.
30 Jun 2026
DevOps · 4 min
W3DevOps Module · AWS: IAM Least Privilege, EC2 + EBS, S3 Hosting, VPC Subnetting and Terraform
The AWS track of my DevOps handbook: root vs IAM users, JSON policies, mounting an EBS volume, EC2 user-data bootstrapping, S3 SPA hosting, CIDR math for VPCs, and a complete Terraform script.
23 Jun 2026
DevOps · 4 min
W3DevOps Module · Kubernetes: Pods, Deployments, Services, Ingress and kubectl
The Kubernetes track of my DevOps handbook — control plane vs worker nodes, CRI/CNI/CSI, zero-downtime Deployments, StatefulSets vs DaemonSets, Services, Ingress and the kubectl commands I reach for when a pod won't start.
16 Jun 2026
DevOps · 4 min
W3DevOps Module · Docker: Containers vs VMs, Layer Caching, Multi-Stage Builds and Compose
Containers are just Linux processes with namespaces and cgroups. This chapter of my DevOps handbook goes from that idea to production Dockerfiles that shrink a 1.2 GB image to 24 MB, and full Compose stacks.
9 Jun 2026
DevOps · 4 min
W3DevOps Module · Linux: The Kernel, the Filesystem and 70 Commands I Actually Use
Every container, VM and CI runner I deploy boots Linux. This is the foundation chapter of my DevOps handbook — architecture, the FHS, streams and redirection, and the 70 commands behind every incident I've debugged.
2 Jun 2026
Toolbox