I've spent the last few years exploring different corners of technology and design. Most of the projects here started with something I was curious about and ended with me building it.
About
Over the years I've picked up a lot of different interests.
Somewhere along the way that turned into design work, analytics, AI projects, products, and eventually engineering.
Today I'm in platform engineering at Trellix, learning how ideas become systems and how systems operate at scale.
Outside of work, I build side projects, log films on Letterboxd, read broadly, and collect questions that are interesting enough to spend time on.
Work
01
What sparked it
Debugging Kubernetes clusters can be a complex and time-consuming task. Correlating pod statuses, container logs, and PromQL metrics across multiple tabs requires significant context switching.
Engineered an autonomous, Kubernetes-native AI first responder. Bridges ReAct and native Function Calling across a strict 12-tool diagnostic registry with domain entity-overlap episodic memory. Proactive warning watchers stream K8s anomalies through cooldown deduplicators, while write mutations are strictly safety-gated behind loop-boundary operator approvals.
02
What sparked it
When you finish a project, you update your resume, LinkedIn, portfolio, and notes separately, manually, and inconsistently. There is no single source of truth for your professional identity.
Built a Go CLI and REST API to compile a single structured knowledge base (YAML + Markdown) into tailored resumes, PDFs, and web portfolios on demand. Developed systematically across sprints mastering CI/CD, Docker, AWS, Terraform, and Observability.
03
What sparked it
Saving content is easy. Finding it again is not. Useful discoveries: workouts, recipes, places, ideas, vanish into folders of thumbnails you can't search by meaning.
Built hookd as a memory-first knowledge capture tool. Every save captures a one-line intent hook. Retrieval runs on a two-tier hybrid engine — zero-cost keyword regex first, asymmetric vector embedding fallback second — with cosine similarity re-ranking and stale-while-revalidate local caching.
04
What sparked it
Turning photos into a video that actually feels right takes hours of manual editing. Most tools pick transitions blindly. They don't listen to the music.
Built RecapGen to sync photos to music intelligently. Librosa runs STFT → spectral onset detection → beat selection with JIT pre-compilation container warmup cutting cold starts by 91%. FFmpeg segments are encoded in parallel across multi-core serverless Modal containers to bypass edge proxy timeout limits.
05
What sparked it
The more I used voice assistants, the more I noticed how quickly they forgot who they were talking to. Ask about your fitness goal mid-recipe and it resets. There's no memory, no continuity, no you.
Layered a modern LLM backend onto Alexa's hands-free interface. Adapts to each user's actual goals (cooking, fitness, learning) and carries session memory forward across conversations.
Experience
Architected Trella, an air-gapped enterprise AI assistant deployed across microservices on RKE2 Kubernetes. Working alongside Staff Engineers, took early ownership of custom intent classification pipelines, zero-downtime hot reloads, and CPU-optimized local LLM inference across core Linux and security infrastructure.
Started with design, moved into analytics, and spent a lot of time seeing how product decisions look from both sides.
Built something early, in a space I cared about. More important than what it became was what I learned about what I still didn't know.
Want to go deeper?
If the work here resonates and you'd like to dig into my technical background and experience, here is my resume.
Writing
July 2026
Most agentic workflows can be solved with a single ReAct loop and structured tools. Multi-agent architecture makes sense for two specific reasons: context hygiene and permission isolation.
Read →June 2026
While building an air-gapped RAG chatbot, I realized the most important optimization wasn't retrieval or prompting: it was deciding when none of them were needed.
Read →May 2026
How a missing social media feature evolved into a deep dive into signal processing, parallel transcoding, and serverless orchestration.
Read →Contact
If something here resonates but there's a gap in what you see — let's talk anyway. I pick things up fast, work independently, and tend to build solutions rather than wait for them. I'm more interested in the problem than the specific stack.