Complete Project Repository
Every tool, build, and system documented on this site β grouped by category. Each entry has a full write-up covering why it exists, how it works, and what it taught me.
Security
AI Inference Sandbox
A hardened, unprivileged container environment for local open-weight models whose weights were never fully trusted. The inference server runs with zero Linux capabilities, a read-only model store, and no route off the local bridge β the host reaches the API at a static container IP, with no published ports at all. A twelve-point audit gate verifies the live container against the policy before any request is routed.
Search
AnythingLLM Workbench Tuning
The auxiliary engineering around the stack's AnythingLLM workspace: custom model registration, generated-file management, and push notifications β the pieces most deployments take for granted and few actually check.
Document Search Wrapper
A Google-style search interface over a self-hosted RAG stack. Users type a plain-English question and get an answer with cited sources β drawn entirely from documents that live on the local stack.
Infrastructure
Constrained-Hardware Field Notes
A field log of running self-hosted AI on hardware that fights back: a 2013-era Xeon without AVX2, CPU-only inference, CGNAT, and broken IPv6. Every entry records the symptom, the investigation, and the fix.
Lab as Code (Terraform)
A slice of the lab server's operations expressed as code, so it can be rebuilt from a declaration instead of by hand. The Terraform module uses the Docker provider to manage a small, additive monitoring footprint while leaving the existing compose-managed stack untouched.
Self-Hosted Service Stack
A Docker Compose stack that provides the services behind most of this portfolio: a vector database (Qdrant), a graph-memory service, a private search engine, and a media server β all sitting behind an encrypted mesh network.
Self-Hosted Web Crawling Stack
A self-hosted web crawling and scraping stack with API and CLI access, running behind the encrypted mesh. It serves as research ingestion β turning web content into clean, structured data that the rest of the pipelines can consume.
Machine Learning
Cross-Machine OCR Escalation
The escalation tier of the handwriting pipeline: when the primary machine's OCR engines can't agree, the disputed pages are shipped to a heavier model on a second machine over the encrypted mesh, and the results are merged back into the primary output.
Graph-Based Agent Memory (Honcho)
Deployment and integration of a graph-backed agent memory service into the local stack. It gives the system persistence that's structured as a graph rather than just a vector store β relationships between entities are first-class, so memory isn't just "relevant text" but "who is this and how do they relate."
Handwriting Recognition Pipeline
A multi-engine OCR system for handwritten documents. It runs several open-source recognition models in parallel β PaddleOCR, Surya, EasyOCR, and TrOCR β and merges their results through a consensus layer instead of trusting any single engine.
Local-First Memory (Mempalace / OpenViking bridge)
A dual-layer, fully local memory system that gives the AI stack persistent context without sending anything to the cloud. It combines spatial memory (vector storage with ChromaDB) with an execution-time RAG filesystem (viking://) organized into tiers.
RLM Layer for Handwriting Correction
An application of Recursive Language Model (RLM) scaffolding to handwriting correction. Instead of correcting each page in isolation, the whole document's OCR output is loaded into a REPL-style environment and processed as one coherent body of text.
Shared Vector Memory (ai-memory)
A small shared memory layer for the whole local AI stack: one Qdrant store, local embeddings from Ollama, and a simple CLI (plus an MCP server surface) so any pipeline or agent can remember and recall.
Automation
Discovery & Outreach Automation Pipeline
An end-to-end automation pipeline for research discovery and outreach: scheduled scans across regional and local sources, LLM-assisted qualification and de-duplication, personalized draft generation, calendar sync, and a curated dashboard of results.
Local LLM Tooling
Local, CPU-only LLM inference for the AI stack β no GPU, no cloud APIs. Custom model configurations handle different workloads on the same commodity hardware.
Remote Job Application Pipeline
An automated remote job application pipeline: it aggregates live postings from eight legitimate job boards, filters to roles that are remote, US-workable, and $60k+, and builds a tailored application kit per role β including the real form questions pre-drafted from the employer's own Greenhouse listing.
Scheduled Listings Scanner
A scheduled scanner and classifier that watches configured sources, extracts structured listings, normalizes their metadata, de-duplicates them, and writes the results to a structured store β all as a self-contained Docker service.
Self-Hosted Automation Workflows (n8n)
Self-hosted n8n workflows orchestrating the lab's data pipelines, lead generation, and maintenance automation β all running behind the encrypted mesh with no public exposure. Includes hardened integration with a local LLM backend: generation caps and bounded fan-out so a single-threaded model server is never overwhelmed by a parallel batch.
Web & Automation
Recipe Library
A self-hosted recipe collector. Shared social media recipe links (Instagram, TikTok, Facebook Reels, YouTube Shorts) are watched from an inbox, cleaned into structured recipes by a local LLM, scrubbed of personal data, and published as a searchable section here. Search by the ingredients you have on hand or filter by category.
Software Engineering
Codebase Refactoring & Maintenance
Ran a systematic over-engineering audit across several Python projects. Deduplicated shared helpers, removed dead stub functions, consolidated repeated error-handling patterns into a single decorator, and dropped an unused dependency. Net result: ~200 fewer lines, same behavior, verified by clean imports and a full pipeline dry-run.