Building & Experimenting
My personal lab — side projects, proofs of concept, and experiments. Built to explore ideas and understand patterns deeply, not to ship products.
Side Projects
Sidekick — AI Co-Worker
A proof-of-concept AI co-worker for exploring LLM agents, RAG, memory, and project-scoped document workflows using LangChain and LangGraph.
What I was trying to prove
Whether a local agent loop (worker + evaluator) with ChromaDB-backed RAG and per-project memory could serve as a genuine productivity tool, not just a demo.
Outcome
Built a working multi-mode agent with full-file RAG retrieval, SQLite checkpoints, and LangSmith tracing. Validated the worker+evaluator pattern at scale.
Personal experiment / POC
SQL Agent Loop
Demonstrates that with a data dictionary and an agentic AI, you can answer any business question in natural language — even when column names are cryptic.
What I was trying to prove
That metadata and governance are the true foundation for effective AI. Without good data definitions, the agent guesses wrong. With them, it reliably translates natural language to accurate SQL.
Outcome
Validated the pattern end-to-end. The agent uses tools to inspect schema, read the dictionary, and run SQL in a loop — no hardcoded queries.
Personal experiment / POC
Agentic AI POC
Experimental proof of concept for agentic AI patterns — tool-augmented reasoning, agent orchestration loops, memory integration, and plan-and-execute workflows.
What I was trying to prove
How an LLM chooses and invokes tools, receives results, and continues reasoning — without relying on framework abstractions.
Outcome
Built a custom agent loop with tool registry, long-term memory, planner, and worker from first principles. Useful reference for understanding what frameworks abstract away.
Personal experiment / POC
Career Chatbot
AI agent that acts as a personal career assistant. Uses function calling, a retry loop, and an LLM-as-judge evaluator to stay grounded and in character.
What I was trying to prove
The LLM-as-judge pattern for output quality control — a second model evaluates every reply and triggers a retry with feedback if it fails.
Outcome
Deployed to Hugging Face Spaces. The evaluator pattern significantly improves response consistency and prevents hallucinations.
Personal experiment / POC
Data CoPilot
Local-first, chat-centric data copilot that routes messages to internal agents for profiling, harmonization, and governance document generation.
What I was trying to prove
A scalable full-stack foundation: React SPA + FastAPI + Postgres (pgvector) + Redis + MinIO — learning each layer step by step.
Outcome
Core infrastructure operational via Docker Compose. API, workers, and web UI scaffolded. Validates the architecture and data model before full implementation.
Personal experiment / POC
Asparagus Operations POC
Full-stack operations management app for asparagus supply chain: master data, invoice entry, and AI-assisted document analysis.
What I was trying to prove
Clean frontend/backend separation in a React + Express architecture — services layer bridges them without leaking business logic into the UI.
Outcome
Validated the architecture end-to-end: React UI calls Express API which coordinates Google Drive, Google Sheets, and OpenAI for invoice extraction.
Personal experiment / POC
Agricultural Settlement Platform
Fully operational agricultural intake, quality, contract, and settlement platform built on Google AppSheet + Apps Script. Replaced manual spreadsheet-driven settlement with a structured, rule-based, auditable engine.
What I was trying to prove
Enterprise architecture principles — governed data, controlled calculation engines, workflow automation — can be applied in low-code environments.
Outcome
Production-deployed system handling multiple contract types, quality-based payout thresholds, advance payments, PDF generation, and automated email distribution.
Personal project
Local Image Generation POC
Ran Stable Diffusion XL locally to explore text-to-image, image-to-image, and inpainting pipelines — including device support (CUDA, MPS, CPU).
What I was trying to prove
How local diffusion models work in practice: download, memory requirements, precision issues on Apple Silicon, and pipeline differences.
Outcome
Working t2i, i2i, and inpainting pipelines. Key lesson: MPS requires float32; attention_slicing helps on limited VRAM.
Personal experiment / POC