A working portfolio. Hover any card for stack and execution detail.
↗
Live · marketing case study
Paid · SEO · CRO
BulkBooks: $0 → $1M+ in monthly revenue
Helped push BulkBooks past $1M in monthly revenue for the first time in company history — 30% growth in a single month, largest month on record in April. Three rebuilds compounding: Google Ads, organic SEO, and the customer-facing site. Held above $1M every month since.
- Google Ads rebuild — campaign restructure, audience layers, feed cleanup, bidding logic
- Organic SEO overhaul — site architecture, technical fixes, content scale, crawl-budget remediation
- Customer-facing site rebuild — conversion-focused redesign on the existing Spree v1 stack
- Lifecycle program — Spring reading promotional series, monthly newsletter, ongoing email cadence
- Outcome: first $1M month in company history; held above $1M every month since
Google AdsKlaviyoSpree v1SEO Command CenterLifecycle email
↗
Live in production
Full-stack platform
Premiere Auctions
A real-time auction platform built from scratch — six auction types, anti-sniping logic, consignor portal, BigCommerce order integration. Currently running live celebrity-memorabilia auctions for Premiere Collectibles.
- 23-table SQLite schema with multi-tier auth (consignor, admin, internal committee)
- Real-time bidding via Socket.IO; cron-driven anti-snipe and close logic
- Combined invoicing system with feature-flagged rollout
- Webhook-driven order sync into BigCommerce; deployed on Railway
- Hardened in three security phases — input validation, rate limiting, secrets isolation
Node.jsExpressSocket.IOSQLiteBigCommerce APIRailwayCron
↗
929+ items captured
PC Intake
Multi-collection intake system at pcintake.com. Mobile-first capture, swipe-to-approve review, photo storage, automatic Monday.com sync.
- Single Cloudflare Worker serving API + frontend from one file
- D1 SQLite for data, R2 for photo storage, Cloudflare Access for OTP auth
- Two live collections (Rod's, LS) with per-collection schema overrides
- Swipe-to-approve review on mobile; bulk approve on desktop
- Auto-pushes to Monday.com with photo upload + duplicate prevention
Cloudflare WorkersD1R2Monday APIJSZip
↗
Side project · launching
Solo consulting studio
Wellknown AI
A one-person AI consulting studio at wellknownai.com. Public marketing site with eight industry-specific landing pages, an interactive site-audit tool, and before/after rebuild demos — paired with a private CRM that runs the entire business: leads, deals, proposals, invoices, and prospect outreach. Built solo, end-to-end.
- 8 industry landing pages (dentists, lawn-care, boutiques, restaurants, plumbers, med-spas, contractors, tree-services) each with custom palette + pain-point messaging
- LiveAudit tool: enter a URL, get a graded report (A–F, /100, prioritized issues, package recommendation)
- Studio backend: Tiptap proposal editor, Stripe Invoicing, deals kanban, prospect enrichment, sequenced outreach
- Supabase Postgres + RLS + magic-link auth, Stripe Checkout + Invoicing API, Resend transactional, Google Places sourcing
- Built and committed solo. Pre-launch — finalizing pricing copy and DNS.
Next.js 15SupabaseStripeResendTailwindTiptapGoogle Places APIVercel
↗
TestFlight live
Premiere Collectibles Mobile
Native iOS shopping app for Premiere Collectibles. 20k+ products via SearchSpring, real-time auction bidding, AI customer-support agent in-app, dark/light theming, Smile.io loyalty, push notifications.
- Expo 54, React Native, TypeScript, Zustand state, React Query data layer
- 3D product views via react-three-fiber + expo-gl
- Socket.IO live auction bidding hooked to the same backend as the web
- Claude Haiku in-app AI search agent (catalog + policies + customer orders)
- Apple Developer team set up, TestFlight active, com.premierecollectibles.app
Expo 54React NativeTypeScriptZustandSocket.IOreact-three-fiberClaude API
↗
Live
AI-augmented
Consignor Portal
Self-serve item-submission portal for auction consignors. AI-powered description generation, photo upload, item tracking.
- NextAuth, Prisma, S3 photo upload
- Anthropic API for description copy generation
- Database-backed item lifecycle from submission to live
Next.jsPrismaNextAuthAWS S3Claude APITailwind
↗
Live on storefront
PC Customer Bot
AI customer-support widget on the Premiere storefront. Order lookups, Zendesk ticket creation, satisfaction ratings, push notifications.
- Floating widget embed with conversational order lookup
- Routes complex tickets to Zendesk; logs all sessions for review
- Push-notification follow-ups via Expo
Node.jsClaude APIZendesk APISQLiteExpo Push
↗
Live · Netlify
Analytics
Klaviyo Performance Dashboard
A standalone dashboard tracking 6-month Klaviyo campaign performance and projecting annual usage against the 61.2M-send contract cap. Surfaced the 20× revenue gap between top and bottom campaigns that re-shaped the send strategy.
- Contract pacing with overage projection
- Pareto concentration analysis on revenue per campaign
- Top/bottom 10 breakdown, list health, send-size vs. revenue viz
- Order conversions stitched from the BigCommerce "Placed Order" metric
HTML / JSKlaviyo APIBigCommerceNetlify
↗
Crisis comms · shipped
End-to-end funnel
Goodwill Recovery Campaign
Customer-recovery comms after a high-profile authentication issue (Liza Minnelli). Full funnel built end-to-end in 48 hours: gated landing page → personalized customer email → BigCommerce coupon generation → Klaviyo profile sync.
KlaviyoBigCommerce APICoupon engineCrisis comms
↗
In flight
Replaces paid SaaS
SEO Command Center
Internal Next.js app replacing the SEOKart subscription. Manages SEO + AEO across both stores — 34k Premiere Collectibles products and 10k BulkBooks SKUs — with a unified dashboard, audit grades, bulk optimizer, alt-tag generation, schema validation, redirects, and rank tracking.
- Local SQLite mirror of both catalogs syncs on schedule — every read is instant
- 12 modules: dashboard, audit, bulk optimizer, alt tags, meta, schema, CMS pages, broken links, URL editor, page speed, rankings, AEO
- Store switcher in sidebar; all routes accept ?store=pc|bb
- Replaces a paid SaaS subscription that wasn't worth what we were paying
Next.js 14SQLiteBigCommerce APISpree APIAnthropic APITailwind
↗
Live · agency-facing
Klaviyo × Meta Exclusion Tool
One-click exclusion segments. Pulls a Klaviyo segment, syncs it to a matching Meta custom audience, and lifts paid efficiency by removing wasted impressions.
Node.jsKlaviyo APIMeta Marketing APIRailway
↗
In flight
eBay-grounded pricing
Mystery Box Builder
Auto-assembles mystery boxes hitting a target retail value, then validates the math against live eBay comps. Pulls from BC catalog; scrapes eBay sold + active listings for real prices.
Node.jsExpressCheerioBigCommerce API
↗
In flight · internal
Celigo Operations Dashboard
Local monitoring dashboard for Celigo iPaaS flows. Aggregates flow runs, error counts, and integration health across BulkBooks's NetSuite, BigCommerce, Klaviyo, and ShipStation connectors into one view.
FlaskPythonCeligo API
↗
Shipped · award-winning
Hardware × software product
MyRadar Weather Widget
Designed and led the build of MyRadar's broadcast Weather Widget — real-time weather data from MyRadar's API, delivered through a hardware/software combo built to disrupt the industry standard. Won ITPro "Best of Show" at NAB 2025.
- Disrupts category standard: global usability, no massive upfront cost, no heavy software install
- Real-time weather alerts and data piped through MyRadar's API
- From product design through GTM positioning — owned end-to-end
- Won ITPro "Best of Show" at NAB 2025 (the broadcast industry's largest trade show)
Product designHardware/softwareBroadcastMyRadar APINAB 2025 winner
↗
Live · enterprise SaaS
MyRadar Business
B2B weather platform driving enterprise adoption — built the GTM motion, the lead-scoring model, and the funnel that opened the channel. Live at business.myradar.com.
- Stood up the entire B2B vertical — strategy, positioning, lead scoring, demo flow
- From zero to $1M+ in B2B revenue in under 12 months
- Custom logistics-vertical product: real-time road-weather APIs powering driver heads-up displays
B2B SaaSGTM strategyLead scoringLogistics API
↗
Campaign · shipped
Viral mechanics
#MyRadarRainCheck
Viral social contest with 9,000+ unique entries. Drove a flood of real UGC, activated the "Storm Watcher" community, and proved funnel efficacy by converting free contest participants into paid subscribers.
Social contestUGCCommunityFree → paid funnel