Always Building - Hello, World
Some people have hobbies. I have a homelab.
That distinction matters, because hobbies are things you do to relax. A homelab is something that pages you on a Saturday morning because a Raspberry Pi decided to reboot itself and took Jenkins down with it. It's not relaxing. But it's the most fun I've had in years.
My name is Roberto de la Cámara. By day, I work as a TPM at Ericsson, where I spend most of my time thinking about systems at scale — reliability, trade-offs, roadmaps, the gap between how things should work and how they actually do. By night (and on weekends, and during most lunch breaks), I build things at home for no reason other than that I can't stop.
This blog is the honest log of that second life.
The Homelab
Let me give you the tour, because context matters.
My setup runs across four machines and lives entirely on my home LAN:
Magua — my Windows PC running WSL2 (Ubuntu). This is the infrastructure host: Jenkins, SonarQube, a private Docker Registry, Nginx Proxy Manager, Prometheus, Grafana, and MLflow all run here in Docker containers on a shared
infrastructure_netnetwork.raspi-62 — a Raspberry Pi 5 that acts as the main server. Gitea (my self-hosted Git), MinIO (object storage), Uptime Kuma, and AdGuard Home all live here. This is also where the DNS for my
*.localdomain resolves.raspi-189 / raspi-190 — two older Pis running satellite services: another MinIO node, Changedetection.io, and CrowdSec.
The CI/CD pipeline flows like this: I push code to Gitea on raspi-62, a webhook triggers Jenkins on Magua, Jenkins builds and tests the image, pushes it to the local registry, and deploys it. No cloud. No SaaS. No monthly bill.
Does it break? Constantly. Is that the point? Partly, yes.
The Repositories
Alongside the homelab, I've been building a collection of ML and systems projects. Here's what's currently in progress:
CNDS — A network intrusion detection system. Scapy captures packets, extracts 76 CICFlowMeter-compatible flow features, and feeds them through an ensemble of four detection engines: a supervised Random Forest, an Isolation Forest, an LSTM Autoencoder, and a rule-based engine. Alerts are enriched with MITRE ATT&CK mappings and streamed in real-time via WebSocket. FastAPI + SQLAlchemy backend, optional JWT auth. This one is the closest thing to production-grade in my personal stack.
HopfieldAssignmentProblemSolver — A hybrid microservices architecture (Go API Gateway + Python solver) for solving assignment problems using Hopfield neural networks. Go handles the API layer with Gin; Python runs the actual neural network logic in Flask. Nginx sits in front of both.
HopfieldSPP — Shortest path solver using Hopfield Networks with TensorFlow. Three model versions: Original (deprecated), Improved (recommended), Advanced (still experimental). Comes with a FastAPI REST interface.
cognitive-anomaly-detector — Network anomaly detection using Isolation Forest plus rule-based detection. MLflow tracks experiments. Scapy handles packet capture. 18-feature extraction pipeline.
Research-Agent — A LangGraph-based autonomous research agent with 5 personas, multi-source RAG, and a Streamlit UI. Uses LangChain with Ollama/OpenAI and ChromaDB for vector storage.
What This Blog Is
I'm not going to teach you things. I'm going to show you what I'm building, how it breaks, and how I fix it.
There's no separation in my head between the TPM who thinks about system design at work and the person who spent last Sunday debugging why Docker Desktop's proxy was intercepting pushes to a local registry. They're the same person with the same questions, just operating at different scales.
Always Building is that person writing things down. Weekly. Honestly. With all the failed attempts included.
If you've ever looked at a Raspberry Pi and thought "I wonder if I could run a full MLflow tracking server on this" — welcome. You're in the right place.
Where to Find Me
All the code I write ends up on GitHub: github.com/RobertoDeLaCamara. Every repository mentioned in this blog lives there — feel free to dig in, open issues, or just steal ideas.
If you want to connect professionally or follow along more casually, I'm on LinkedIn at linkedin.com/in/robertodelacamara.
Next week: Meet the Research Agent — a LangGraph-based autonomous agent with 5 personas and multi-source RAG that I built to automate... well, research. Starting simple, but it gets weird fast.

