Nine Open-Source Projects, One Homelab
The Stack
I build things. Mostly infrastructure tools, AI integrations, and the glue between them. Everything runs on a homelab split across two physical sites connected by Tailscale, and everything is open source on Gitea.
Here’s what exists, what each project does, and where you can help.
1. EdgeMail — Serverless Email on Cloudflare
What it is: A complete email platform that runs entirely on Cloudflare Workers. D1 for storage, R2 for attachments, Resend for outbound. 14 database tables, 60+ REST routes, FTS5 full-text search, threading, filters, autoresponders, scheduled sends.
Why it exists: ArgoBox’s email module grew to 85+ API actions. Extracting it into a standalone package means anyone can deploy a self-hosted email system with npx create-edgemail and a Cloudflare account.
Tech: TypeScript monorepo (pnpm + Turborepo). Four packages: @edgemail/core, @edgemail/api, @edgemail/client, create-edgemail.
How AI helped: Claude scaffolded the initial extraction from ArgoBox — mapping 2,100 lines of admin-db.ts into clean domain modules. I caught a timing-safe comparison auth bypass in the generated code that would have let any string authenticate as any API key. That’s a whole blog post.
Status: v0.1.0, 181 tests passing against Miniflare.
Contribute: The dashboard extraction (Preact webmail UI) is the big next step. Also needs POP3/SMTP bridge for traditional email client support.
Repo: git.argobox.com/KeyArgo/edgemail
2. Argonaut RAG — Local-First Knowledge Search
What it is: A RAG engine that stores everything in SQLite. No external vector database. Hybrid BM25 + cosine similarity search across 294,252 chunks from 22 collections. Supports three embedding models via Ollama.
Why it exists: I wanted to search my entire vault — 2,500+ documents across personal notes, technical docs, conversation archives — without sending anything to the cloud. Everything stays local.
Tech: TypeScript/Node.js. SQLite for storage, FTS5 for full-text, Ollama for embeddings (nomic 768d, qwen 1024d, qwen 4096d).
How AI helped: The chunking algorithm, BM25 scoring, and cosine similarity implementation were all AI-assisted. The dimension auto-detection (figuring out which embedding model was used from the stored vector size) was my idea that Claude implemented. The batch embedding optimization was a code review finding.
Status: Production. 5.8 GB primary database. ~9 second queries on nomic, ~23 seconds on qwen 8B. Needs an ANN index badly.
Contribute: The biggest need is an approximate nearest neighbor index (HNSW). Also: incremental ingestion (currently full re-index takes 25+ hours), date-range filtering, and a web UI beyond the CLI.
Repo: git.argobox.com/argo/argonaut-rag
3. Build Swarm / Vulcan — Distributed Gentoo Compilation
What it is: A distributed build system for Gentoo Linux. 5 drones with 66 total CPU cores compile packages into binary archives. Client machines install pre-built binaries instead of compiling from source. KDE Plasma goes from 12 hours to 45 minutes.
Why it exists: Gentoo compiles everything from source. That’s great for optimization, terrible for time. The build swarm parallelizes compilation across multiple machines, making Gentoo practical for daily use.
Tech: Python 3.13+, SQLite state machine, SSH-based drone management. No external dependencies for core — stdlib only.
How AI helped: Claude wrote the circuit breaker logic (5 strikes → drone grounded → auto-reboot) and the rich TUI monitor. The self-healing system — where offline drones get their work reclaimed in 60 seconds — was designed collaboratively. I drew the state machine on paper, Claude implemented it.
Status: v1.0 (Vulcan). 4,700+ packages built. 84% test coverage. Self-healing survived a real power outage at the remote site.
Contribute: Multi-architecture support (amd64 + arm64) is the roadmap goal. Also needs Prometheus metrics export and a web dashboard.
Repo: git.argobox.com/KeyArgo/gentoo-build-swarm
4. Tendril — Obsidian Graph View for the Web
What it is: An interactive knowledge graph visualization. Brings Obsidian’s floating, organic graph view to any website. Live physics simulation with tunable parameters, content preview on click, framework-agnostic core.
Why it exists: Obsidian’s graph view is addictive. When you publish notes to the web, you lose it. Quartz and Obsidian Publish have graphs, but they’re static. Tendril’s physics run in the browser, in real-time, with sliders.
Tech: Vanilla JavaScript core (@argobox/tendril-graph), Astro wrapper (@tendril/astro), full blog template (create-tendril). MIT licensed.
How AI helped: The initial force-directed layout was AI-generated. The breakthrough — variable edge lengths based on node degree (spines tight, bridges loose) — came from 3 hours of me staring at why it didn’t look like Obsidian. That fix was mine.
Status: v0.0.1. Used on this site. Needs npm publish and documentation site.
Contribute: React/Vue/Svelte wrappers, accessibility improvements, search integration, backlink parsing.
Repo: git.argobox.com/InovinLabs/tendril | github.com/InovinLabs/tendril
5. apkg — Gentoo Package Manager Wrapper
What it is: An educational package manager that simplifies Gentoo operations while teaching you what’s happening underneath. Supports binary (binhost) and source (compile) modes, with optional Nix/Home Manager integration.
Tech: Bash (primary). 70+ Gentoo↔Nix package mappings. Btrfs snapshot integration.
How AI helped: The dual-mode architecture (binhost vs compile vs auto-detect) was designed in a late-night conversation with ChatGPT, then implemented in Bash over a weekend. Claude did the Nix integration layer.
Status: v0.5.2, 114 tests, 100% pass rate.
Contribute: The Python port is in progress. Also needs better error messages and a TUI mode.
Repo: git.argobox.com/KeyArgo/apkg-gentoo
6. Argo OS — Custom Gentoo Distribution
What it is: A complete Gentoo configuration that installs in 30-60 minutes instead of the traditional multi-day process. Includes KDE Plasma 6, Hyprland, Btrfs snapshots, and the full build swarm integration.
Tech: Shell scripts, Portage configuration, automated installer. 2,600+ binary packages on the binhost.
How AI helped: The automated installer was largely AI-generated. The Btrfs subvolume layout and Snapper integration were designed through extensive back-and-forth with Claude — I’d describe what I wanted, Claude would generate the config, I’d test it, find edge cases, and iterate.
Status: Production. Running on my workstation and multiple VMs.
Contribute: Installer improvements, hardware compatibility testing, documentation for non-Gentoo users.
Repo: git.argobox.com/keyargo/argo-os-config
7. OpenClaw Integration — AI Agent for Infrastructure
What it is: OpenClaw is an open-source AI gateway by Peter Steinberger. My integration turns it into an infrastructure monitoring agent with 7 custom admin pages, 6 scheduled jobs, 17+ skills, and multi-provider LLM routing.
Why it matters: The integration bridges OpenClaw’s multi-channel capabilities (Telegram, web, API) with ArgoBox’s infrastructure. It checks site health, runs security audits, monitors playground availability, and reports via Telegram.
How AI helped: The entire ArgoBox integration — 7 Astro pages, 3 API handlers, the ForgeExecutor bridge — was built with Claude. The cron job architecture (reduced from 13 to 6 jobs after the rate limit cascade) was designed collaboratively.
Status: Production. 5-deep fallback chains across Groq, Cerebras, SambaNova, OpenRouter, and NVIDIA NIM.
Contribute: More skills, better rate limit handling, dashboard improvements. The skills are SKILL.md manifests — easy to write if you know what you want the agent to do.
8. Glass UI — Glass-Morphism Design System
What it is: React component library for glass-morphism UI. Used across ArgoBox and the LaForceIT portfolio.
Status: Active development.
Repo: git.argobox.com/InovinLabs/glass-ui | GitHub mirror available
9. Colorado Legal RAG — Domain-Specific Search
What it is: A RAG system specialized for Colorado legal research. 105,904 documents — statutes, case law, regulations, court rules. ChromaDB for vectors, complexity-based routing to choose the right LLM per query.
Status: Active development. Architecture is a template for any domain-specific RAG.
The AI Question
Every single one of these projects was built with AI assistance. Claude for implementation. ChatGPT for late-night architecture brainstorming. Ollama for local embeddings. OpenClaw for infrastructure monitoring.
Does that mean anyone with ChatGPT can build this? Honestly… no. Not yet.
The AI helps with the typing. It doesn’t help with:
- Knowing what to build. The build swarm exists because I’ve been running Gentoo for years and know what’s painful about source compilation. That’s domain knowledge, not prompt engineering.
- Physical infrastructure. You can’t vibe-code a dual-site homelab with 66 CPU cores, 30TB of media storage, and a Tailscale mesh. That’s hardware, networking, and electricity.
- Catching AI mistakes. The timingSafeEqual auth bypass. The rate limit cascade. The shadow file corruption. These are bugs that an AI introduced or couldn’t prevent. Finding them required understanding the system at a level deeper than “it compiles and the tests pass.”
- Operational experience. When Proxmox crashes at 2 AM, or emerge unmerges X11 while KDE is running, or a Telegram bot loops because someone left a placeholder token in production — that’s 12 years of IT experience, not a conversation with Claude.
But here’s the thing: if you DO have those skills, AI turns a weekend project into a production system. EdgeMail went from “ArgoBox email module” to “standalone npm package with 181 tests” in two sessions. The build swarm’s self-healing logic went from whiteboard sketch to working code in an afternoon.
The skills matter more than ever. AI just makes them faster.
How to Contribute
All repos are on Gitea at git.argobox.com. Most are MIT licensed. If you’re interested:
- Pick a project that matches your skills
- Read the README and the open issues
- Start small — documentation fixes, test coverage, bug reports are all welcome
- Join the conversation — open an issue or reach out via the site
The homelab keeps growing. The projects keep multiplying. I could use help building what comes next.