Rebuilds
Before / After.
Hover any tile (or scroll into view on mobile). The legacy site scrolls through behind a desaturated wash, then gradient-cross-fades into the modern rebuild doing the same scroll. No fluff. Real receipts.
- no preview yet
WordPress → Next.js for a regional SEO leader
Took over the #1 organic site in its market — a 5.0-star Best-of-Southland SEO operator running on aging WordPress + Elementor. Migrated to Next.js without losing a single ranking, then added a client dashboard the legacy stack couldn't support.
- 0% ranking drop across 600+ tracked keywords
- 9× faster TTFB (1.8s → 200ms p75)
- Client dashboard added (formerly unsupported)
- Headless content pipeline (Notion → MDX)
- Local Pro Services
Read the case study→
- 🔒fuel1st.com→fuel1st-site.vercel.appBEFOREAFTER

live scroll-throughFuel1st — 2014 WordPress brochure to a 2026 Next.js operating surface
Fuel1st had been running on the same WordPress brochure since 2014, designed and maintained by an outside agency. The entire site was four nav links, a tagline, a quote, and a footer credit — roughly fifty words of copy. Rebuilt from scratch on Next.js 14 + Tailwind in a 43-hour sprint: six structured services, hero stats, self-hosted aviation photography, a four-source aviation news aggregator with a competitor filter, and three motion polish passes — all on operator-owned infrastructure, deployable in seconds.
- ~50 words → multi-page operating surface
- WordPress (2014, third-party agency) → Next.js 14 (operator-owned, 2026)
- 0 services listed → 6 (Fuel Supply, Trip Support, Logistics, Flight Planning, Ground Handling, SAF)
- 0 hero imagery → self-hosted aviation photography throughout
- Aviation
Read the case study→
- no preview yet
Ballair / Fuel First / 7Air — operating-group brochure + allowlist admin + federal bid agent
Stood up the digital footprint for a three-entity aviation operating group: Fuel First International (fueling + bunker, CAGE 77SM4), Ballair Aviation Holdings (Boeing 767F + holding entities), and 7Air Cargo (three 737-800SFs, FAA Part 121, acquired May 2026). The deliverable is three layers: a public brochure at ballairaviation.com, a hard-allowlist admin dashboard for the operator, and an Anthropic-backed federal-bid drafting agent that scouts SAM.gov on the operating-group's real CAGE/UEI and drafts compliant bid sections without ever inventing a capability or auto-submitting.
- 3 federal entities under one ops surface
- 28 SAM.gov keyword-scope categories — one-click into live searches
- Drafting agent: 7 bid sections, Anthropic-backed, hard never-invent rules
- Allowlist admin: zero signup surface, sessions in Postgres
- Aviation
Read the case study→
- no preview yet
BMH payment rails — Wix payments to a two-rail Medusa module with hard caps
Big Moose Hemp ran customer payments through WIX-PAY-PRO + Square. Hemp/CBD is a high-risk MID category and the federal hemp ban (P.L. 119-37, effective Nov 12 2026) accelerates the need to move off a stack that doesn't expose payment-policy controls. The rebuild ships a two-rail payment provider abstraction inside the BMH Medusa 2.x backend — Clover (card, capped at $250) via Global Payments Solutions ISO for the high-risk MID, and Aeropay (ACH) for any purchase over the cap and for the 50% deposit on bulk clone orders. Hard caps are enforced at three levels — admin, API, and storefront — so no path can bypass them.
- 2 payment rails (Clover card + Aeropay ACH) under one Medusa module
- Hard $250 card cap enforced at admin + API + storefront
- 13-method contract surface across the two providers
- Feature-flagged rail toggle (FEATURE_CLOVER_CARD_RAIL)
- Hemp / CBD
- Local Pro Services
Read the case study→
- 🔒legacy→currentBEFOREAFTER

live scroll-throughBig Moose Hemp — Wix → headless Medusa ahead of the federal hemp ban
P.L. 119-37 (federal hemp ban, Nov 12 2026) removes roughly 86% of Big Moose Hemp's current catalog from legal sale on day one. Wix can't support the platform-level work needed to survive that pivot — V1 catalog, deprecated blog API, locked-in schema. Rebuilt on Medusa 2.x + Next 15 with a three-phase strategy (liquidate → sunset → post-ban) baked into the architecture so the cutoff is driven by per-SKU total-THC data, not a content edit. What started as a survival migration became the operating spine for the whole brand: a live Medusa-backed admin, a consent-stratified retention engine, a verified transactional email + SMS chain, and a 24/7 Slack-fed AI approval queue where agents draft and only the owner ships.
- 43 SKUs migrated off Wix V1
- 3-phase compliance strategy in code, not in spreadsheets
- Nov 12 2026 cutoff driven by per-product total-THC threshold
- Two-rail payment processor (see /before-after/bmh-payment-rails)
- Hemp / CBD
Read the case study→
- 🔒legacy→currentBEFOREAFTER

live scroll-throughBuck Mountain Cannabis — buckmountaincannabis.com → buckmountain.farm
Brand restart on a new domain. The legacy site was a static brochure; the rebuild restructures the catalog around the actual sales channel — flower, rosin, extracts, trim, smalls, plus a pharma category that ships when its supply line is ready. Wires Nabis (wholesale), Metrc (batch compliance), and OgLife.app (QR rewards) into one storefront.
- Domain cutover with 301s from buckmountaincannabis.com
- Nabis wholesale API + Metrc batch compliance integrated
- OgLife QR rewards wired in for cross-brand identity
- Shared chat widget with BMH and LGP
- Hemp / CBD
Read the case study→
- 🔒legacy→currentBEFOREAFTER

live scroll-throughLet's Go Paint — pottery brochure to Square-source-of-truth headless commerce
Seal Beach paint-your-own-pottery studio (1065 Pacific Coast Hwy). The legacy site was a brochure with limited booking. Rebuilt on the same headless stack as BMH and Buck Mountain — Next 15 storefront + Medusa 2.x backend — with Square as the catalog + payment source of truth so anything ringing through the POS lands in the storefront automatically. Multi-domain strategy (.com, .art, .space, .org) collapsed into one storefront with brand variants per host.
- 4 owned domains → 1 storefront with brand variants
- Square is catalog + payment source of truth
- Klaviyo (email) + Shippo (fulfillment) + Synthflow (voice) + Plausible (analytics)
- Phase 1 visual contract pinned to a static HTML reference
- Painting & Trades
- Local Pro Services
Read the case study→
- no preview yet
OgLife.app — one identity layer across a 17-domain portfolio
Each brand in the portfolio had its own opt-in, its own chat widget, its own customer record. A customer who liked two brands ended up as two strangers in two databases. OgLife.app is the cross-business identity + preferences + live-chat layer that sits between the brands and the customer — one opt-in, one preferences page, one inbox. Built on Cloudflare Workers + Durable Objects + Neon, with an embeddable 7KB chat widget that any brand storefront drops in.
- 1 identity layer across 17 brand surfaces
- 7KB embeddable chat widget
- AI autoreply at 45s when no agent is online
- Inquiry → push notification: <30 seconds
- Hemp / CBD
- Painting & Trades
- Aviation
Read the case study→
- 🔒https://djjackiej.com→https://jackiej.eventsBEFOREAFTER

live scroll-throughDJ Jackie J — bland WordPress to orchestrated revenue stream
Took over a 12-year wedding & event DJ's online presence — a half-built WordPress site, three Instagram handles she manually managed, inquiries that took 24+ hours to answer. Shipped a real marketing site, wired SMS opt-ins for repeat-booking, and stood up an agent backbone that posts ads, scrapes local OC event listings, and pushes inquiries to her phone the moment they land — so her brand keeps working while she's asleep.
- 5★ across The Knot / WeddingWire / Thumbtack preserved through cutover
- Inquiry → notification latency: 24h → <30s (push)
- Bid submission flow: manual → draft-for-review agent
- Live event-vendor scraping across OC public listings
- Local Pro Services
Read the case study→