The workshop.
The first section is my day job at Centercode: AI tools for our sales and marketing teams, and the company-wide AI rollout with our People team. The rest I built on my own time since 2022, for local businesses, my church, my kids' league and the fun of it. Each one says what it does and what it taught me. The map reads like a code history: the main line is my day job, and each branch is a theme from my own time.
> tap any build to open it
AI for the people inside the company
The day job at Centercode: tools for sales and marketing, and the company-wide rollout with our People team. A person stays in charge of anything that ships.
getting-whole-company
Got our CEO using AI first, then worked with our People team on the rollout: training, real use cases, internal hackathons, and a new goal system used in performance reviews. I sit on the AI council that runs training and quality reviews.
> taught me: The tools are the easy part. New habits are the real work.
change managementtrainingPeople teamagent-platform-person
A prototype that lets employees on any team build their own agents. It connects to company systems through 11 connectors (called MCP servers), keeps reading and editing the CRM on separate keys, has a wizard so non-engineers can build skills, and locks each person's data down in the database. I wrote the strategy for our CEO and CTO.
> taught me: The model proposes, code enforces, a person approves.
connectors (MCP)only the access it needsper-user data ruleshubspot-skill-leaders
Sales leaders and reps pull CRM data through Claude and ChatGPT in plain language. The skill carries a glossary of how our HubSpot fields connect, so an answer never counts a closed-lost deal as a churned customer.
> taught me: An agent is only as good as the definitions you give it.
HubSpotClaude + ChatGPTdata definitionssales-intelligence-from
Reads discovery call transcripts to learn how buyers heard about us and what they already knew. Sales gets weekly findings, lookalike prospects and outreach lists. A public version turns calls into account timelines and coaching reports, and checks every quote against the transcript.
> taught me: Reps trust AI output when they can check it against the source.
call transcriptslookalike prospectsquote checkingrules-content-agents
Every draft is scored against a 100-point rubric with 12 automatic fails, inside a 15-stage workflow the AI can't skip ahead in, and a person approves before anything goes out.
> taught me: Checks belong in code, where nobody can talk them out of it.
evaluation rubricworkflow stageshuman approvalevery-page-audited
Audited all 1,084 URLs on centercode.com and scripted the fixes through the Webflow API: new or trimmed titles and meta descriptions on 440+ posts, 77 new internal links, a comparisons hub and glossary cleanup. Each batch is tracked against a baseline snapshot in GA4 and Search Console.
> taught me: Write down the baseline before you change anything, or you'll never know what worked.
AI searchWebflow APIGA4 + Search ConsoleAgents, and keeping them honest
Everyone demos agents. The real work is wiring them into the systems a business already runs on, then building the guardrails that make them trustworthy.
guardrails-keep-ai
Brand systems enforced in the build itself, anti-slop rules injected into every prompt, and validators that trace every AI-written number back to a source before it publishes.
> taught me: You don't trust AI. You verify it, automatically.
brand check on every buildfact checkingvoice and tone ruleswatchdog-ai-ecosystem
A small cron app that watches seven sources where Anthropic ships changes and emails me the moment something new lands.
> taught me: Staying current is a system too. I automated mine.
scheduled crawlersdiff and notifyemail digestsRunning a business, minus the paperwork
Field crews, dispatchers, owners. Software that gives people their hours back.
field-crews-whole
Running a home-services company today: online booking, drag and drop dispatch, signed agreements, Stripe invoicing, Twilio texts, automated review requests after every job, and a native technician app in TestFlight. Automatic checks every night, and a weekly test that quality never slips backward, keep it honest.
> taught me: Field software has to work with zero bars and wet hands. And a test must never touch a real customer's job.
runs a real businessStripe + Twilioautomatic nightly checksnative-ipad-system
Built in Swift with CloudKit sync and offline-first storage: live-call customer lookup, a pricing engine with approvals, digital signatures, before and after photos.
> taught me: Offline-first changes every design decision you make.
SwiftUICloudKit syncoffline-firstone-system-little
Volunteer shifts, a family compliance ledger, field maps, and automatic reminders. It replaces three different vendors the league juggles today.
> taught me: The best software swallows busywork whole.
volunteer schedulingdata importsreminder automationcompliant-photo-kit
One phone visit becomes enhanced listing photos with the legally required edit disclosures handled automatically, built around a new California disclosure law.
> taught me: Regulation reads like homework. Build it in and it becomes a moat.
native iOSimage pipelinecompliance automationWebsites that hold the line
Anyone can ship a pretty page. These stay fast, honest, and on brand after launch day.
brokerage-site-where
An audit-first rebuild for a Southern California brokerage: real search data, compliance checks, image treatment, and a design system enforced by a validator. The build fails if a page breaks brand.
> taught me: Scale is a system. One source of truth feeds every page, post, and video.
brand check on every buildSEO auditimage pipelinetype-address-get
One platform that spins up a branded single-property site per listing, routes leads back to the agent, and keeps every page inside real estate advertising rules.
> taught me: A website can be a product line, not a one-off.
one platform, many clientscustom domainsMLS data feedsproduction-sites-local
A home-services company site with real reviews mined for themes, automated accessibility tests, and bot-protected lead forms. A training studio one-pager the owner can edit himself.
> taught me: Small business sites deserve big business engineering.
accessibility testingreview mininglead capturesearchable-home-335
Two ministries at my church, one engine: podcast feeds and transcripts turned into structured, searchable libraries with custom audio players.
> taught me: Structure beats scattered links every time.
content pipelinessearchstatic generationData that audits itself
Measure first, then improve. These builds turn judgment calls into numbers you can act on.
ai-grades-auto-shop
Rules plus AI score every inspection on five dimensions, with findings that cite their sources and customer data scrubbed before the model ever sees it. Pennies per audit.
> taught me: Trustworthy AI shows receipts. Good engineering makes it cost pennies.
rules + AI scoringcitationsPII redactionground-truth-audit-dental
Real search data, a full site crawl, review and map-pack gap analysis, delivered as a plan the owner could act on.
> taught me: An audit is only useful when every claim is checked against reality.
SEO diagnosticscompetitive analysiskeyword strategymaturity-model-product
An eight-dimension framework with weakest-link scoring and an interactive assessment, built on evidence-based indicators that are hard to game.
> taught me: A good model tells you where to look next, not just how you scored.
assessment designscoring modelsinteractive quizVideo and voice, written like software
Multimedia used to mean agencies and render farms. Now it's code.
video-rendered-from
Pitch teasers, article reels, and a league trailer, all built with Remotion and Hyperframes. Change the data and the video re-renders on brand.
> taught me: Media can be data-driven, versioned, and always on brand.
RemotionHyperframesprogrammatic motionapps-talk-listen
ElevenLabs narration for a scripture app, pronunciation scoring with Whisper for language learning, and voice agents that hold a real conversation.
> taught me: Voice makes software feel human. The tech is ready now.
ElevenLabsWhisperconversational agentswrapped-style-year-review
Sixteen animated slides with bespoke transitions and music, fully tested, built to make a year of numbers feel like a story.
> taught me: Data storytelling is an animation problem.
animation systemsdata storytellingaccessibilityFor the love of it
I build because I can't not. These started as curiosity and turned into real things.
batting-practice-app
It turns an iPhone into an exit-velocity tracker on Apple's developer kit and the on-device ML that ships with it, so young hitters see their progress the second the bat cracks.
> taught me: The phone in your pocket can do lab work now.
Apple developer kiton-device MLcomputer visionyear-daily-readings
A pipeline that ingests all 365 episodes of my church's daily reading series into scripture, notes, and audio, with hands-free voice navigation.
> taught me: A content pipeline can turn seven years of teaching into a product.
content pipelinespeech recognitionmobilelearn-biblical-greek
Spaced repetition tuned by learning science, AI-generated pronunciation audio, and speech scoring that listens while you practice.
> taught me: Learning science plus voice AI beats flashcards.
spaced repetitionElevenLabsWhisper scoringsamurai-game-sound
A browser game with procedurally generated sprites and 48 AI-generated sound effects, from footsteps to katana swings.
> taught me: Fun projects teach faster than serious ones.
HTML5 gameprocedural artAI sound designWant to talk about any of it?
I'm happy to walk through how any of these work, what broke, and what I'd do differently.
