Selected work

I build and maintain the whole stack: .NET and Node APIs, data pipelines that run unattended, and fast sites for small businesses. Everything below is live, and the applications link to source or a running site.

TrackFlow — event tracking API screenshot

TrackFlow — event tracking API

Application

A production-shaped event tracking service in ASP.NET Core. Idempotent writes enforced by the database, explicit validation, RFC 9457 problem details on every failure, and a background rollup worker that is safe to re-run. 32 integration tests against a real database provider. Most of my .NET work is proprietary, so I wrote this one to be readable — and you can click through to a running instance.

  • C#
  • ASP.NET Core
  • EF Core
  • xUnit
  • React
  • TypeScript
Deals aggregator screenshot

Deals aggregator

Application

Full-stack deals app on Vercel with a Neon Postgres backend. A daily scraper verifies live prices, an ingest API upserts them in batches, and the front end renders today's deals with per-source click tracking. One codebase serves two brands. Built and maintained solo: scraping, schema, API, UI, cron jobs, analytics.

  • Next.js
  • TypeScript
  • PostgreSQL
  • Web scraping
iSupra Design — publication + automation screenshot

iSupra Design — publication + automation

Application

A smart-home buying-guide publication on Ghost, with a Python pipeline behind it: pulls product data from affiliate networks, drafts guides for editorial review, publishes through the Ghost Admin API with JWT auth, and pushes new URLs to Google's Indexing API. Scheduled, logged, and built to fail loudly rather than silently.

  • Python
  • Ghost API
  • JWT
  • Automation
StradaLocal — agency site + rank tracker screenshot

StradaLocal — agency site + rank tracker

Application

An agency site plus the tooling behind it: a Python rank tracker that reads Google Business Profile signals and local-pack positions through the Places API, stores snapshots, and diffs them week over week. A prospecting pipeline scores businesses by weak online presence and builds an audit per prospect, with an approval gate before any outreach.

  • Python
  • Google Places API
  • SQLite
  • Next.js
RigTested — automated content pipeline screenshot

RigTested — automated content pipeline

Application

A review and buying-guide site with a daily automated build: keyword validation, product data via affiliate APIs, drafting, cross-linking, and an indexing push in the same run. Publishes one guide per day behind a queue that distinguishes done, failed, and skipped so nothing drops silently.

  • Next.js
  • Python
  • Affiliate APIs
  • SEO
Edge Envy — concrete curbing contractor screenshot

Edge Envy — concrete curbing contractor

Lead-generation site for a Utah concrete-curbing contractor. Fast static build, mobile-first, click-to-call and quote form above the fold, structured data for local search, and a full legal stack so it is ad-ready.

  • Web development
  • Local SEO
  • Responsive design
Idaho Music Co. — instrument repair shop screenshot

Idaho Music Co. — instrument repair shop

Small-business site for an instrument repair and restoration shop. Clean service pages, photo-forward layout, contact details and hours front and centre, built to load fast on the mobile connections rural customers actually use.

  • Web development
  • Responsive design
Simple Carpet Care — service-area site screenshot

Simple Carpet Care — service-area site

Service-area landing site for a Salt Lake carpet cleaner: free-quote call to action, service list, service-area pages, and local-search structured data. Paired with profile tracking so the owner can see ranking movement after each change.

  • Web development
  • Landing page
  • Local SEO