After fifteen years running workshops, I figured out the session itself was the easy part. The work I dreaded was the planning before and the synthesis after. Every facilitator knows the breaking point: you're twenty minutes out, the attendee list just changed, and the agenda you timed to the minute no longer holds. So you're reshuffling exercises, breaks, and lunch on the fly with nothing but a Word doc and a watch. I built the tools I kept wishing I had, then wired them into one platform that covers the whole job: planning, running, and reflecting. Solo, on nights and weekends.
I designed and built a modular set of products on a shared Canvas design system, drawn first in Figma, then ported into code so every screen stays consistent. Plan is an agenda builder with real timings around breaks and lunch. The Library holds 380 exercises and 90 icebreakers, searchable with RAG. Facilitate pairs a live timer with the next script and AI notes that read the room. And Synthesize ingests the mess a workshop leaves behind (FigJams, photos, scripts, notes) and clusters it into themes. The hardest part was AI discipline: knowing when not to reach for it, and boxing it in so it can't hallucinate. A recommended exercise has to already exist in the library. For resilience the stack fails over from Claude to Gemini to Kimi, and still works offline. As the only person on it, I owned research, UX, visual design, the design system, frontend, backend, schema, API, AI loops, and copy.
The web platform handles the desk work. But two moments kept happening away from a browser tab. Mid-session, when the room goes sideways, I have my phone in my hand, not a laptop. And deep in planning, I wanted a real desktop tool with keyboard shortcuts and drag and drop, not one more tab. So I built two native apps in SwiftUI, on the same API and the same Canvas tokens as the web. About 11,000 lines of Swift, designed and written the same way as everything else here: by me.
Facilitation first aid. Describe what's happening in plain words, typed or spoken, and it hands back the intervention card that fits, best match first, with something to say in the next thirty seconds. Fifty cards, nearly 200 tips, a tip of the day, and favorites. The design calls came from standing in front of a group. Voice search runs on the phone and stops itself after a short pause, so I only look down once. Each card opens on three at-a-glance facts (time to try, low-key or direct, room or remote) before the deeper moves. And the whole deck ships inside the app, because conference-center Wi-Fi always dies right when you need it. It's submitted and waiting on App Store approval, with an early-access list on workshopr.io.

The Planner, rebuilt as a proper Mac app instead of a wrapped web page. Drag activities from the library onto the timeline, nudge a block five minutes from the keyboard, and the header tells me whether I'm on time, have room, or am ten minutes over. Fill With AI drafts a whole agenda with the same guardrails as the web: every block has to be a real exercise from the library, and each one comes with its reason. It exports to PDF, Word, Excel, Markdown, and calendar. The library caches on disk and only re-downloads when it changes, so it opens instantly, even offline. It's at version 0.1, packaged as a DMG. The real story for the Mac app is that it was built for me, and I imagine I'll be its primary user. I've traveled all across the country and the world running workshops, and I wanted to be able to build an agenda while flying, without internet.

This is where the design system (Canvas) paid for itself. The type, the colors, the API, and the card content were already settled, so most of the work was deciding what each context needed, not redrawing screens. The system isn’t just documentation, either: a design-system enforcer, built as an MCP server, lets any agent ask mid-task which component fits, check a snippet before it’s saved, and fix what drifted, so the rules hold even when an agent writes the code. A design-system agent owns the components and tokens and works in coordination with a designer agent: the designer shapes the feature, and the design-system agent makes sure it’s built from pieces that already exist, or adds the new one to the catalog properly. It's also not just AI-enabled, but AI-first.

I’m the only human on Workshopr, so most of the team is agents, and they all start from the same set of conventions. Before an agent touches the code, it reads CLAUDE.md, the codebase guide. AGENTS.md and GEMINI.md just point back to it, so Codex and Gemini work from the same rules instead of a copy that drifts. From there it fans out into a handful of markdown files: PRODUCT.md for what Workshopr is and who it’s for, DESIGN.md for what’s allowed, taste.md for what’s good, Conventions.md for what things are called, and motion.md for how things move. One rule lives in one file. And because docs rot, a lint check fails if a guide names a helper, path, or token that no longer exists.

The design and development process is agentic, but it isn’t unsupervised. I orchestrate a team of agents, and each one gets one job and one wall it can’t cross. A designer agent works with my design taste, a design-system agent owns the components and tokens, and an executor builds in slices it can finish and test one at a time. Codex reviews the code as an adversary, and a drift auditor checks the codebase against the design system. On the content side, one agent drafts new library entries and a read-only reviewer checks them. Underneath all of them sit the same controls: the enforcer, hooks that send violations straight back after every edit and refuse destructive database commands, and pre-commit checks. The agents recommend; I decide what ships.

Workshopr now has roughly 1,400 people using it at least three times a month, with a Substack and ebook funnel growing off what I learn building it. It now reaches past the browser too: an iPhone app in App Store review and a native Mac planner. Facilitators tell me they save about half their prep time. I've cut my own planning and run time by 50–75%, which buys back the hours I used to lose to logistics.
The biggest surprise was who showed up: a lot of them are Learning & Development folks, not designers, and that's reshaping who I build for. If I did it again, I'd ship the Planner first instead of sinking three months into the library. Get to the core value, then earn the rest. No more rebuilding the agenda twenty minutes before the room fills up.
The free content does a lot of the selling. Intervention Cards are fifty moves for the moments an agenda can't plan for, on the web and in Back Pocket. Tips is a feed of nearly 200 illustrated ideas, one sharp idea a day. And the Facilitator DNA quiz asks 15 questions and hands back one of five archetypes, from The Architect to The Energizer, with a shareable profile, a radar of strengths, and an email series written for that type. None of it needs an account. Each one is a front door: people come for a card, a tip, or their result, and every one of them points back to the Planner, the Substack, and the ebooks.