2nd Year Computer Engineering student from the Philippines, driven by hunger and a will to do the work and learn. I am very obsessed with tech and infrastructure and that's what keeps me to do what I do.
π― Current Goal: Designing and Building Distributed Systems and Learning and applying System Design Concepts
π‘ Click to expand full infrastructure diagram (June 13, 2026)
flowchart TB
subgraph PublicEdge["π‘ Public Edge Layer"]
WAF["Cloudflare Edge"]
CFTunnel["Cloudflare Tunnel"]
end
subgraph Internet["π Public Internet"]
Users["End Users"]
Slack["Slack Channel"]
end
subgraph CI_CD["π GHA CI/CD Pipeline"]
Git["GitHub Repo CI/CD"]
ALint["Ansible Lint"]
Molecule["Molecule Testing"]
CiCheck["Linter/Formatter/StaticAnalysis"]
Trivy["Trivy Security Scan"]
GHCR["Github Registry"]
end
subgraph Tailscale["π Tailscale Devices"]
subgraph MainDevices["π₯οΈπ» Main Devices"]
MainPC["MainPC"]
MainLaptop["MainLaptop"]
Ansible["Master Ansible"]
Terraform["Master Terraform"]
end
subgraph MainPC["π₯οΈ Personal Computer"]
Ollama["Local Ollama Models"] --> SSH1["SSH Keys"]
end
subgraph MainLaptop["π» Personal Laptop"]
SSH2["SSH Keys"]
end
subgraph Pi5["βοΈ Node - Raspberry Pi 5"]
subgraph SSHD1["π SSHD Configs"]
F2B["Fail2ban"] --> NoIP["No Local IP SSH"] --> Port22["Only on Port 22"] --> UFW["Only allow Tailscale Devices"] --> AKeys["No Key, No Entry"] --> APerms["No Root Login"] --> Access["SSH Completed"]
end
subgraph Docker["π³ Docker Containers"]
DLogs["Docker Logs"]
subgraph DiagramStack["π Compose - Diagram Stack (Observability Experimentation Application)"]
Frontend2["React/Vite Frontend (Diagram)"]
subgraph Backend2["Node.js Backend (Diagram)"]
Nodejs2["Node JS Runtime"]
OTLPDep["OTLP Metrics HTTP"]
OTLPDep2["OTLP Spans HTTP"]
end
Postgres["Postgres DB :5432"]
PostgresExporter["Postgres Exporter :9187"]
end
subgraph ObservabilityStack["π Compose - Observability Stack (LGTM + Alloy)"]
Alloy["Grafana Alloy:12345"]
Prom["Prometheus:9090"]
Loki["Loki:3100"]
Tempo["Tempo:3200"]
Grafana["Grafana Visualization :3030"]
AManager["AlertManager:9093"]
end
end
end
subgraph DigitalOcean["π§ DigitalOcean Cloud"]
subgraph Droplet1[" Debian Droplet"]
Falco["Falco Security"]
subgraph DODocker["π³ Docker Compose - Traffic Stack"]
DONginx["Nginx Reverse Proxy"]
DOCfD["Cloudflared Container"]
end
subgraph AppLayer["πΌ Compose - Portfolio Stack (No Telemetry)"]
Frontend["React/Vite Frontend"]
Backend["Node.js Backend"]
end
end
end
end
Git -- CI Check --> ALint & CiCheck
CiCheck -- Action --> Trivy
ALint -- Deploy --> Molecule
Molecule -- Deploy --> SSHD1
Trivy -- Build/Push --> GHCR
Users -- HTTPS --> WAF --> CFTunnel
CFTunnel -. HTTPS .-> DOCfD
DOCfD --> DONginx
DONginx -- HTTP --> Frontend & Backend
SSH1 & SSH2 -- Tailscale Tunnel --> SSHD1
Frontend & Backend -- Pull w/Token --> GHCR
Frontend2 & Nodejs2 -- Pull w/Token --> GHCR
Alloy -- Scrape Logs --> DLogs
Alloy -- Remote Write --> Prom
Alloy -- Loki Push --> Loki
Alloy -- OTLP --> Tempo
Prom & Loki & Tempo -- Query --> Grafana
Prom -- Alerting Rules --> AManager --> Slack
Frontend2 -. Frontend Logs/Traces .-> Alloy
OTLPDep & OTLPDep2 -. OTLP Metrics & Spans .-> Alloy
PostgresExporter -- Scrapes Metrics --> Postgres
PostgresExporter -. Metrics :9187 .-> Alloy
From my portfolio blog
- π₯ Telemetry Madness β I let AI generate my observability stack, then watched it fail silently. Rebuilt from first principles with curl, Alloy, and an MVP OpenTelemetry app.
- β±οΈ SRE Steps β Building a reliable kill script to measure real MTTD/MTTR in containerized infrastructure.
- π‘οΈ Imposter Syndrome β Escaping the blackbox with the fundamentals.
I'm looking for internship / entryβlevel opportunities (remote or hybrid). or if you just talk in general about tech or even be my peer then you can message me! (I would be glad to) Let's move forward together!
- π§ stpmacabulos@gmail.com
- π LinkedIn
- π Portfolio, Blogs & Infra