Live inventory · What I'm building right now
Last updated: 2026-06-22 · By Justin Willhite

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.

52 active repos 900+ commits in 30 days since March 2026

Public products

Live consumer products anyone can use. Stripe-backed where it makes sense, free where the audience comes first.

Live Launched 2026-05 Open source

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
React 19ViteExpress 5SQLiteResendStripeOpenRouterWeb PushPWA
Live Launched 2026-02

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)
NodeReactTypeScriptPostgresStripeAmazon Creators APILevantaDrizzle
Live Launched 2026-05

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)
Vanilla JSPWAWeb Crypto APIFlaskSQLiteDocker
Live

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
FlaskJavaScriptPWAESPN APIWeb Push
Live

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
HTMLCSSNginxPythonSystemD timersGit
Battlespace Daily
Live Daily podcast

An AI-produced daily defense-technology news brief covering autonomous systems, drones, and next-gen weapons.

PythonOpenRouterTTSSystemD
Open Scoring MMA
Live Daily podcast

An AI-produced daily MMA/UFC news podcast: forward-first, short, fully automated.

PythonOpenRouterTTSSystemD
OSM Fight Tracker
Live

PWA of upcoming and recent fight cards across the major MMA promotions, with betting odds.

PythonPWAESPN APIDocker
Swaypi
Pre-launch

In-build consumer concept: details soon.

Python

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.

openpx
Live Internal · open to discuss

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)
Chrome MV3JavaScriptFlaskSQLiteNginx
WillDo
Live Internal · open to discuss

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
FlaskSQLitePythonNginx
Justin Job Search Portal
Live Internal · open to discuss

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)
FlaskSQLitehtmxPlaywrightJobSpyOpenRouterSearXNG
Trackio
Live Open source

Lightweight email open-tracker: Chrome extension plus a Next.js dashboard.

Chrome MV3Next.jsTypeScript
Gmail MCP
Live Internal

Self-hosted, multi-account Gmail MCP server for the Claude.ai custom-connector flow.

PythonMCPOAuth 2.0
Meeting Notes
Live Internal

PWA for recording audio in the browser and filing it straight to Nextcloud.

PythonPWANextcloud
WillDo MCP
Live Internal

Remote MCP server exposing WillDo task tools to Claude.ai, secured by a self-hosted OAuth 2.0 server.

PythonMCPOAuth 2.0
Quartermaster
Live Internal

Self-hosted quarterly estimated-tax dashboard wired to my business banking + bookkeeping.

PythonFlaskSQLite
claude-kit
Live Open source

Portable Claude Code kit: skills, agents, custom commands, hooks. Works across any project, any machine.

BashPythonClaude Code

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.

Prowler + Refinery + Professor (creator stack)
Sunsetting Internal · open to discuss

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
PythonSQLiteOpenRouterCamofoxApifyEnsembleDataSystemD
Meridian
Live Internal · open to discuss

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
FlaskSQLitePlaywrightOpenRouterSearXNGMCP
WSGiQ Chrome Extension
Sunsetting Internal · open to discuss

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
Chrome MV3JavaScriptFlask backendiframe bridge
Sam + Hermes
Live Internal · open to discuss

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
PythonTelegram Bot APIClaude Agent SDKSystemD
CommQuest Inbox Agent
Live Internal · open to discuss

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
PythonGmail APIOpenRouterResendTelegram
Relay
Live Internal

Creator-campaign automation that runs an Amazon brand campaign end-to-end from outreach to a near-finished review.

PythonSystemD
SEO / AEO / GEO control plane
Live Internal

Unified search, answer-engine, and generative-engine management across every web property I run: one source of truth, automated audits.

PythonFlask

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.

Sentinel
Live Internal · open to discuss

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
FlaskSQLitePlaywrightSerpBearOpenRouter
WSG Multi-Tenant CMS (Payload)
Live Internal · open to discuss

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
Payload v3PostgresAstroNodeDocker
WSG Client Kit
Live Internal · open to discuss

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)
FlaskSQLiteResendHTTP Basic authPython
Scribe (auto-content stack)
Building Internal · open to discuss

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
FlaskNocoDBpgvectorSveltiaOpenRouter
Client site template
Live Internal

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.

DockerAstro

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.

wsg-infra-audit
Live Internal · open to discuss

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
BashPythonGit
Self-hosted communication stack
Live Internal · open to discuss

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
DockerMattermostPlankaNocoDBKarakeepNginxCertbot
GuardDog
Live Internal

Security stack for the entire VPS fleet: one CLI covering scan, audit, and alerting.

BashPythonLynistestssl
Tinyauth SSO
Live Internal

Single sign-on for all internal admin tools: log in once, cookie covers every subdomain.

DockerOIDCNginx
Tools Portal
Live Internal

Password-gated dashboard fronting every internal utility: utilities, ops/infra, and the client stack.

FlaskNginx
Agent infra
Live Internal · consulting reference

Self-hosted AI agent infrastructure for the agency stack, doubling as a reference build for agent-infra consulting.

DockerPython