dylan@homelab:~$ whoami

Applied AI & IoT Engineer Dylan Capaldi

I build privacy-first AI systems that run entirely on hardware I own — no cloud, no telemetry, no rent. If it phones home, it doesn’t ship.

U.S. Navy veteran Applied AI & IoT @ FIU Relocating to Miami · 2026
Dylan Capaldi
operator · online
nodes
5 hybrid
compute
RTX 4090 + 2060
mesh
Tailscale
storage
ZFS UPS-backed
uptime
status
all systems go
01 / about

From the deck plate to the rack.

I’m a U.S. Navy veteran now studying Applied AI & IoT Engineering at FIU. The Navy taught me to trust systems I can inspect, hold, and keep running when the connection drops — and that conviction runs through everything I build.

So I build local-first: the model, the data, the metrics, and the alerts all live on hardware in my own rack. Agents that take real actions, observability you can audit, and inference that never leaves the building.

/01

Hardware you can touch

If I can’t pull the drive and hold it, I don’t fully trust it. Everything runs on owned silicon.

/02

Private by construction

No cloud round-trips, no telemetry, no third-party model keys. Privacy is the architecture, not a setting.

/03

Observable & shippable

Dockerized, CI/CD’d, instrumented with Prometheus & Grafana. If it isn’t monitored, it isn’t done.

02 / selected work
J‑01

Jarvis // multi-zone LLM agent system

A Dockerized tool-use agent on Flask + Ollama with a complete agentic loop, hardened with structured-output enforcement, schema validation, iteration caps, and a tamper-evident decision log. Model routing picks the right brain per task; an eval harness guards schema compliance and latency.

~95%JSON validity, warm path
2 modelsllama3.2:3b ↔ qwen3:14b
13✓green CI builds
PythonFlaskOllama DockerGitHub ActionsGrafana
T‑02

Tort Agent // local LLM workflow assistant

Qwen3.6 35B via Ollama with a modular tool architecture spanning Canvas LMS, Apple Notes, Obsidian, and weather APIs: morning brief, handwritten-note OCR (PyMuPDF + ocrmac), atomic concept extraction, and weekly summaries — piped to an Obsidian vault with YAML frontmatter and [[wikilinks]].

35BQwen3.6 via Ollama
4 toolsCanvas · Notes · Obsidian · wx
2 modespersona chat + JSON tools
OllamaQwen3Canvas LMS OCRObsidian
H‑03

Privacy-First Homelab // 5-node AI & IoT infrastructure

5 nodes on repurposed hardware, zero cloud dependency. Observability as code (AdGuard DNS sinkhole, Prometheus + Node Exporter, Grafana), a FastAPI inference wrapper over the Tailscale mesh, and a Frigate CV pipeline (RTSP → QuickSync → MQTT → Home Assistant) that drives automated agent decisions.

5 nodeszero cloud
15smetrics scrape · 30d retention
0 portszero-trust, Tailscale-only
TailscaleFastAPIAdGuard Home FrigateHome AssistantDocker
V‑04

vault-sync // local-first cross-device sync

Obsidian vault sync across Mac, Windows, and an always-on UGREEN NAS hub — Syncthing with end-to-end encryption, no cloud subscriptions. A launchd job exports Apple Notes to PDF daily into the vault inbox, where Tort Agent picks them up to OCR.

3 devicesMac · Windows · NAS
E2Eencrypted, LAN-only
Dailyautomated Notes export
SyncthingBashPowerShell launchdDockerNAS
03 / focus & stack
AI agents Local-first inference Smart home / IoT Cybersecurity Edge ML

Languages & Frameworks

  • Python
  • Bash
  • SQL
  • Flask
  • FastAPI
  • Uvicorn

Infrastructure & DevOps

  • Docker / Compose
  • GitHub Actions
  • Tailscale
  • Linux (Ubuntu Server)
  • systemd
  • Prometheus
  • Grafana

AI / LLMs

  • Ollama
  • Tool-use loops
  • Model routing
  • Structured outputs
  • Eval harnesses
  • RAG concepts

IoT & Security

  • Home Assistant
  • Frigate NVR
  • Zigbee2MQTT / MQTT
  • AdGuard Home
  • SIEM / IDS
  • Zero-trust networking
04 / credentials
Google · Coursera

Google Cybersecurity Professional Certificate

SIEM, intrusion detection, network security, and Python security automation — the security mindset behind every system I run.

05 / get in touch

Let’s build something
that runs on its own.

Open to roles and collaborations in applied AI, IoT, and local-first infrastructure. Best way to reach me is GitHub or LinkedIn.