Things I've shipped.

Recent builds, starting with the back-office work: an invoicing agent on Business Central, chat-driven operations for a roofing contractor and automated annual reports. Further down are the largest build, an AI discovery platform for criminal defense, then data extraction, HubSpot integrations and multilingual outbound. Names kept public where the client agreed; specifics anonymized otherwise.

Start a project
Distinguished Clubs logo

Distinguished Clubs 2026

Annual club reports, generated end to end

End-to-end pipeline that aggregates evaluation data, runs Word mail-merge, auto-fixes layout issues, and publishes finalized reports to the site.

  • Python
  • Word mail-merge automation
  • Multi-source data aggregation
250+ hof report production removed every year
Read case study
CrossLogic Intelligence logoLargest build

CrossLogic Intelligence 2026

AI discovery platform for criminal defense

Multi-tenant platform that turns criminal discovery (police reports, recordings, emails, subpoena returns) into a searchable, source-cited case record for defense attorneys.

  • FastAPI
  • Next.js
  • PostgreSQL + pgvector
2M+pages of discovery ingested for a single defense team
Read case study
PlanYear logo

PlanYear 2026

Benefits portal extraction

Playwright-based extraction across all PlanYear plan types, handling Ant Design quirks and outputting clean structured datasets.

  • Python
  • Playwright
  • Ant Design DOM handling
4+plan types extracted automatically, from medical to life
Read case study
Aid Through Trade logo

Aid Through Trade 2025

Two-way ERP ↔ CRM sync

Orders, customers and notes lived in Brightpearl while sales worked in HubSpot. A two-way integration now keeps both systems in step: real time one way, daily the other.

  • Python
  • FastAPI
  • GCP Cloud Run
10.4kBrightpearl contacts migrated into HubSpot and kept in sync
Read case study
Code Ninjas logo

Code Ninjas 2026

One booking system for every franchise location

Every center needed its own booking page, every manager needed to set their own hours, and every booking needed to land in HubSpot. One platform now does that for the whole network.

  • TypeScript
  • Express
  • React
797franchise locations set up on one booking platform
Read case study
Zuniga Pool Construction logo

Zuniga Pool Construction 2026

Pool proposals, signed and synced

Reps priced pools in one tool, then retyped everything into HubSpot. The new app lets the client pick upgrades and sign on screen, and builds the HubSpot deal on accept.

  • Python
  • FastAPI
  • SQLite
5records and files created on accept: contact, deal, line items, PDF, Excel
Read case study
DeMont Family Swim School logo

DeMont Family Swim School 2025

Swim-school data into HubSpot, no API needed

Family and enrolment data was locked in iClassPro, with no API the school could use. A scheduled service now pulls the data out and keeps HubSpot current for marketing.

  • Python
  • FastAPI
  • GCP Cloud Run
3linked HubSpot record types per family: parent, household, each child
Read case study
Goss RV logo

Goss RV 2026

Installment quotes inside HubSpot

Luxury RV trips were quoted in Google Docs, fees were worked out by hand and installments were collected manually. A HubSpot deal card now builds the quote and sets up the payment schedule.

  • HubSpot UI Extensions
  • React
  • HubSpot serverless functions
2–5installments per quote, set up to charge through HubSpot Quotes
Read case study
Iris Carbon logo

Iris Carbon 2025

Jurisdiction-aware multilingual outreach

Per-prospect enrichment + jurisdiction-aware messaging in each prospect's native language for a global RegTech platform.

  • Python
  • LLM APIs
  • Language detection
5+reporting regimes, each written to in the prospect's language
Read case study