What I've shipped.
Justin Willhite ships consumer products, internal AI platforms, agent systems, client tooling, and personal sites, built by directing AI agents as a non-technical founder. Public projects link out. Internal ones show enough detail to talk about; the rest stay private.
Public products
Live consumer products anyone can use. Stripe-backed where it makes sense, free where the audience comes first.
A daily AI learning PWA for curious non-technical adults. Seven cards in five minutes, definitions, core concepts, bleeding-edge stories, and a tool spotlight, generated each morning via live web search. Free tier or $4.99/mo premium for topic personalization, email digest, and deeper cards.
- Live web search via OpenRouter (Gemini 2.5 Flash free / Claude Haiku 4.5 premium)
- Magic-link auth (Resend), no passwords; Stripe Checkout + Customer Portal for billing
- PWA with installable home-screen app, web-push reminders, deck archive (premium)
- Mascot-led UI (Deckie) with custom artwork across login, home, quiz, share, push
- MIT licensed, self-hostable runbook ships with the repo
Price-per-unit Amazon shopping engine with 50-page SEO landing network and a B2B brand marketplace (Stripe-subscribed sponsored placement). Includes a referral-partner system that swaps Amazon tracking IDs dynamically per traffic source.
- 1,694-brand Levanta integration for deal-badge cross-referencing
- JSON-LD FAQ schema on all 50 category pages
- Two-tier unit parser (regex + Gemini AI fallback) for accurate price-per-oz/count
- Stripe-subscribed B2B marketplace ($2.50-$6.50 / product / mo)
Privacy-first GLP-1 and peptide injection tracker. PWA with end-to-end encrypted cloud sync. All crypto runs in the browser, the server only sees opaque ciphertext.
- PBKDF2-SHA-256 (600k iterations) + AES-GCM 256 encryption in-browser
- Body-diagram injection mapping, dose heatmap, weight + mood tracking
- Reconstitution calculator + doctor share links + PDF export
- Free tier + $1.99/mo Premium ($19.99/yr)
UFC + USL League One schedule with countdowns. Daily Telegram alerts and web-push browser notifications. Installable PWA.
- VAPID/P-256 web-push for iOS Safari support
- ESPN public scoreboard API
- Daily 09:00 PT alert digest via the Sam ops agent
The site you're on. Static HTML on nginx, hand-rolled, no framework. Live homepage stats (shipped repos, commits in the last 30 days, current streak, last ship) refresh every 2 hours from a systemd-timer-driven Python script that walks the local git repos and writes a JSON file the page fetches on load.
- Four pages (home, about, work, resume), unified nav and design system
- Schema.org Person + AboutPage markup
- Bronze + slate design system, custom typography
- Every-2h stats refresh: scans /root, /var/www, /opt for git repos, dedupes by normalized remote URL, never writes credentials to the JSON
An AI-produced daily defense-technology news brief covering autonomous systems, drones, and next-gen weapons.
An AI-produced daily MMA/UFC news podcast: forward-first, short, fully automated.
PWA of upcoming and recent fight cards across the major MMA promotions, with betting odds.
In-build consumer concept: details soon.
Tools I built for myself
Personal productivity stack. Each one replaced a paid SaaS I was tired of renting. Private repos, but I'm happy to walk anyone through how they work.
Gmail open tracker. Chrome MV3 extension plus self-hosted Flask backend. Replaces Mailtrack and Mailsuite for my personal email, and shows me which prospects actually open my outreach.
- Self-view filtering so my own opens don't pollute the data
- Per-thread first-open + repeat-open timestamps
- Desktop notifications + dashboard UI
- Tracking pixel served from my own infrastructure (no third-party trust)
Custom task manager that replaced Vikunja (which replaced Todoist). Flask + SQLite, Bearer-token auth so my agents can hit it via REST, session cookies for me in the browser.
- 50 tasks migrated from Todoist on launch day
- REST API my Claude agents call to create + complete tasks
- Project + tag + due-date model, no calendar bloat
- Lives on the same VPS as the rest of the stack, $0/mo
The dashboard I use to run my own job hunt. Tracks applications, contacts at target companies, follow-ups, AI-drafted outreach, and a daily learning loop that scores newly-discovered roles against my apply history and rejection reasons.
- JobSpy multi-board scraper (LinkedIn, Indeed, Glassdoor, Google Jobs, ZipRecruiter)
- Playwright Chromium for JS-rendered JD pages (Greenhouse, Ashby, Workday)
- OpenRouter cheap-first cascade (Gemini Flash to Haiku to Sonnet) for cost discipline
- 175-line decision framework that scores every role APPLY / LEAN / REJECT
- Two-stage LinkedIn outreach (200-char connect note + post-accept intro)
Lightweight email open-tracker: Chrome extension plus a Next.js dashboard.
Self-hosted, multi-account Gmail MCP server for the Claude.ai custom-connector flow.
PWA for recording audio in the browser and filing it straight to Nextcloud.
Remote MCP server exposing WillDo task tools to Claude.ai, secured by a self-hosted OAuth 2.0 server.
Self-hosted quarterly estimated-tax dashboard wired to my business banking + bookkeeping.
Portable Claude Code kit: skills, agents, custom commands, hooks. Works across any project, any machine.
Internal AI systems
Agents and platforms I run across the business, a Telegram-ops EA, web-design lead engine, brand-pitch parser, and the creator-vetting stack that powered the influencer-marketing agency (now sunsetting as I refocus on consumer products and web design). Components are private but real, and the patterns transfer.
Three connected systems that together run a 467,000-creator CRM. Prowler discovers new creators across TikTok, Instagram, and YouTube. Refinery enriches and scores them. Professor is a decision-learning service that mirrors every approve/decline/skip and trains a ranker on the patterns.
- 467K creator records, multi-platform discovery
- Multi-stage AI scoring (quality + brand safety + engagement)
- Professor baseline regression now, LightGBM upgrade at ~500 decisions
- Camofox + free-stack discovery is replacing a paid Apify pipeline
Discovery + triage + AI-scoring engine for local web-design and real-estate leads. Scrapes business listings, fetches each candidate site, extracts signal, then LLM-scores via an OpenRouter cascade.
- DeepSeek to Llama to Gemini to GPT-4o-mini fallback chain
- Banned-word voice guard on AI-drafted outreach (no fake deliverables, no filler closers)
- Mobile-friendly admin UI with auto-saving CC field and preview tokens
- MCP server exposes 10 tools so Claude can query the lead pool directly
Iframe-bridge Chrome extension that overlays my creator vetting UI directly onto creator pages on TikTok, Instagram, and YouTube. The scan-grid view lets me vet a dozen profiles in one screen.
- Multi-creator scan grid (12 profiles at once)
- Service worker + content scripts + same-origin iframe pattern
- Hooks into Professor so every decision feeds the ranker
- v1.2 in production daily use
Telegram-bot ops EA plus notification dispatcher across the entire stack. Sam takes commands and runs Claude Code on the server. Hermes pushes alerts with quiet-hours and category routing.
- Bidirectional Claude Code bridge via Telegram
- Quiet-hours + category-routed notification dispatcher
- Backs all infra timers, system health monitors, morning digests
- Replaced a paid Slack workspace
Hourly Gmail monitor that auto-classifies inbound brand pitches and drafts replies in my voice. Threads stay in Gmail, drafts wait for me to approve, summaries land in Telegram via Sam.
- Per-thread state machine (new to classified to drafted to sent)
- Resend API for outbound sends
- Drafts respect my style guide (no em dashes, no filler closers)
- Webdesign-inbox-agent sibling routes Bonnie + Elvin client mail to WillDo
Creator-campaign automation that runs an Amazon brand campaign end-to-end from outreach to a near-finished review.
Unified search, answer-engine, and generative-engine management across every web property I run: one source of truth, automated audits.
Client-facing systems
Multi-tenant infrastructure that powers client websites and recurring engagements. Built so onboarding a new client is a config change, not a copy-paste of the last one.
Daily SEO and AI-search monitoring for client websites. Tracks rank changes on Google and mention frequency across ChatGPT, Claude, Perplexity, and Gemini. Per-client isolated tenants.
- GEO + AEO + SEO tracking in one dashboard
- Daily snapshots stored for trend analysis
- Webhook alerts on rank drops or mention spikes
- SerpBear for Google rank, custom LLM-mention harvesters for AI search
One Payload v3 instance hosting every client's CMS as an isolated tenant. Replaces Sveltia for all future client builds. Native auth, no GitHub accounts required for clients.
- Isolated tenants per client (E Studio first, more on deck)
- Client logs in with their work email, edits their own site copy
- Astro front-ends fetch at build time, no runtime CMS dependency
- Single instance scales to dozens of clients on one VPS
Reusable kit (~1,500 LOC) that drops into any client site to add lead capture, admin dashboard, segments, and Resend-backed campaigns with a per-client SQLite database. First deployed for GB Contractors.
- Two Flask blueprints (public_bp + admin_bp) drop into any client app
- Per-client SQLite (data/marketing.db) keeps tenants isolated
- Resend email + token-auth admin out of the box
- End-to-end verified on first client (lead lands in DB, notification fires, dashboard updates)
Multi-tenant auto-blogging service for client websites. Generates, drafts, and queues blog posts for human review in a portal that already exists. Targeting ~$1-2/mo per client vs the $300/mo human writer it replaces.
- Flask backend on VPS2 + NocoDB + pgvector for retrieval
- Sveltia review portal (already deployed) doubles as the editor
- Build kicks off after the E Studio cutover
- 100x cost reduction vs the freelance baseline
Self-contained template for spinning up a new client site: one fork to one project to one live site with the design system baked in.
Infrastructure I run
The supporting cast. Each one replaced a paid SaaS or made the rest of the stack possible. Most of these aren't products, but I built or operate them.
A self-auditing repo that snapshots my infrastructure (services, timers, nginx, DNS, certs, ports) and logs every change in a CHANGELOG. Mandatory update on every infra touch. The reason I can still explain what's running six months in.
- Snapshot tooling per VPS (services, ports, certs, cron, nginx)
- CHANGELOG-driven (50+ entries in five weeks)
- Catches drift before it becomes an outage
Mattermost (chat), Planka (boards), WillDo (tasks), Karakeep (bookmarks), NocoDB (admin DB). Replaced Slack, Plaky, Todoist, Notion, and Airtable respectively. All live on $35/mo of VPS.
- Daily encrypted VPS1 to VPS2 backups
- Each service has its own subdomain, SSL, and entry on the tools portal
- Total monthly cost <5% of the equivalent SaaS stack
Security stack for the entire VPS fleet: one CLI covering scan, audit, and alerting.
Single sign-on for all internal admin tools: log in once, cookie covers every subdomain.
Password-gated dashboard fronting every internal utility: utilities, ops/infra, and the client stack.
Self-hosted AI agent infrastructure for the agency stack, doubling as a reference build for agent-infra consulting.