A mix of things I’m actively building and things I’ve built in the past. I tend to gravitate toward projects that sit at the intersection of infrastructure, productivity, and automation.
Homelab Infrastructure
Status: Active and always evolving
A production-grade home infrastructure running Docker services managed by Ansible. The goal: self-host everything I can, own my data, and learn by doing.
Hardware:
- TrueNAS Scale NAS with 30 drives for storage and media
- Multiple Docker hosts running containerized services
- UniFi networking — Dream Machine, managed switches, access points, VLANs for network segmentation
Key Services:
- Traefik — Reverse proxy and automatic TLS
- Portainer — Container management
- Vaultwarden — Self-hosted Bitwarden-compatible password manager
- Navidrome — Music streaming server
- Jellyfin — Media server
- Grafana — Monitoring and dashboards
- Gitea — Self-hosted Git (where this site’s source code lives)
Everything is defined as code in Ansible playbooks — I can rebuild any service from scratch with a single command. The whole setup runs on my local network; nothing is exposed to the public internet.
Life OS
Status: Active
A personal operating system built in Obsidian for managing areas, goals, OKRs, projects, habits, and daily workflows.
Architecture:
- Obsidian for unstructured knowledge — notes, journal entries, meeting notes, ideas, reading highlights
- PostgreSQL for structured data — goals, OKRs, habit tracking, project status, quantified self metrics
- Dataview plugin for dynamic queries and dashboards within Obsidian
Design Philosophy: I organize my life into Areas (Personal and Professional), each with goals that break down into projects and habits. The system is designed to surface what matters — what’s on track, what’s slipping, what needs attention — without requiring constant manual review.
It’s inspired by Tiago Forte’s PARA method, but heavily customized to how my brain works.
LLM Productivity System
Status: Experimental
Connecting my personal data infrastructure to large language models using the Model Context Protocol (MCP).
What it does:
- MCP servers that expose my self-hosted Postgres database to Claude
- Natural language queries against my personal data: habits, goals, projects, journal entries
- Experimental workflows for weekly reviews, goal tracking, and pattern recognition
Why it matters: Most “AI productivity” tools require you to put your data in someone else’s system. I want the benefits of LLM-powered queries and analysis while keeping my data on my own infrastructure. MCP makes this possible by giving Claude structured access to my Postgres database through a local server.
Algorithmic Trading Platform
Status: Past project (company founded and operated)
Founded a software engineering company that built algorithmic trading strategies for hedge funds and private equity funds.
What we built:
- Automated trading strategies implemented on the NinjaTrader platform
- Signal generation, backtesting, and live execution systems
- Risk management and position sizing algorithms
What I learned: This was my introduction to building software where correctness isn’t optional — where bugs cost real money in real time. It shaped how I think about system reliability, testing, and the difference between “works in dev” and “works in production.”