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