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

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.

Docker Security Containers Local AI
☁️

Infrastructure

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.

Troubleshooting Hardware CPU Self-Hosting
Infrastructure

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.

Terraform Docker IaC Tailscale
Infrastructure

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.

Docker WireGuard Tailscale Qdrant Compose
Infrastructure

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.

Docker Crawling Scraping API CLI
πŸ€–

Machine Learning

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.

Python OCR HITL Escalation Mesh
Machine Learning

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."

Honcho Graph Memory Docker
Machine Learning

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.

Python PyTorch Transformers OCR Consensus
Machine Learning

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.

ChromaDB RAG RLM Python
Machine Learning

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.

RLM Ollama Qwen RAG CPU
Machine Learning

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.

Qdrant Ollama MCP Python CLI
⚑

Automation

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.

Python LLM Calendar Scheduling Dashboard
Automation

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.

Ollama LLM CPU Quantization
Automation

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.

Python CLI Job Search APIs
Automation

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.

Python Docker Scheduling Classification
Automation

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.

n8n Automation Workflows Docker Ollama
🌐

Web & Automation

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.

Python Ollama Thunderbird Caddy
πŸ’»

Software Engineering

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.

Python Refactoring DRY Dataclasses Decorators