Projects

Products I've built and run, with the technology behind each one.

CivicGrid

Live

A civic-data API for U.S. local government, starting with verified city leadership for 3,064 cities.

  • Python and FastAPI
  • Supabase Postgres
  • Next.js on Vercel
  • DigitalOcean Kubernetes
  • Terraform Cloud
  • Argo CD (GitOps, app-of-apps pattern)
  • Helm
  • Envoy Gateway and cert-manager
  • Cloudflare DNS and TLS
  • GitHub Actions
  • Prometheus, Alertmanager and Grafana (kube-prometheus-stack)
  • Redis (rate limiting)
  • Healthchecks.io (dead-man's switch)

ByeByeBalance

Live

A free, open-source debt payoff planner, with calculators, a budget and home-buying tools. No sign-up; every calculation runs in your browser, and your plans stay on your device.

  • Next.js (App Router) and React
  • Vercel
  • Browser local storage (no backend, no accounts)
  • Pure-function finance logic in lib/finance
  • Jest tests against independently computed values
  • GitHub Actions (lint, build, test)
  • Security headers (Content Security Policy and HSTS)
  • Open source (AGPL-3.0)

Smaller pieces of real automation work, published as cleaned copies with no secrets or account details in them.

Jenkins pipeline for WordPress on AWS

A Jenkins pipeline I built at StackIT for a WordPress site on AWS: a SonarQube quality gate, the database restored on Amazon RDS with Ansible, a versioned Docker image pushed to Amazon ECR, and Slack updates along the way. Shared as a cleaned copy, with notes on what I'd change now.

  • Jenkins
  • Docker
  • Ansible
  • SonarQube
  • Amazon RDS, S3 and ECR
  • Slack

Enterprise operations toolkit

Bash and Python automation I built at StackIT for day-to-day operations: Oracle Data Pump backups, imports and migrations, disk checks with email alerts, scheduled patching and secure file transfer, with every operation logged to an Oracle audit table.

  • Bash
  • Python
  • Oracle Data Pump
  • SSH and SCP
  • Email alerts