I'm not a developer.
I built all of this anyway.
I run a consulting firm helping progressive nonprofits with IT and operations. I also manage a 30-year-old online community and try to keep my ADHD brain on track. Somehow I now build software too. Here's everything I've shipped using Claude Code.
The story
I've been doing progressive politics and nonprofit operations for twenty years. I know ActionKit, Google Workspace, and Freshdesk inside out. I can fix a broken email pipeline in my sleep. But writing code? That was always someone else's job.
Then I started using Claude Code and things changed fast. I went from "Can you help me write a Python script?" to shipping full-stack web apps in a single sitting. Not toy demos. Real tools that I use every day, that clients pay for, that hundreds of people depend on.
I'm not a coder/developer, but I want to try and level up my skills via vibecoding with Claude Code.
The thing that surprised me wasn't the code. It was how much ground I could cover. On a given day I might fix a WordPress security hole, build a SaaS frontend with Stripe billing, set up server monitoring, and configure automated backups. Claude doesn't just write code. It handles basically everything involved in running a tech-heavy life.
I have ADHD, so I bounce between projects constantly. Most productivity advice says that's a problem. With Claude Code it turned into an advantage. I can jump between a Firebase app, a Cloudflare Worker, a WordPress plugin, and a Next.js dashboard and actually finish all four the same afternoon.
Everything below was built in about three weeks. No contractors, no dev team. Just me explaining what I needed, and Claude helping me build it.
Tools for progressive campaigns
My day job is helping progressive nonprofits fix their tech and run better campaigns. These are the tools I've built to do that.
AK Help
AI help for ActionKit users (the advocacy platform most progressive nonprofits run on). A Playwright scraper pulls 114 help docs and 176 real support emails, anonymizes them, and feeds an AI knowledge base. Freemium SaaS with Stripe billing, magic-link auth, and a monthly auto-refresh pipeline.
campaign.help
My consulting firm's website. Built it in one session, pulling real testimonials and client logos from Notion. Compressed images 81%, wired up GA4, deployed to Cloudflare Pages.
Progressives for AI
Newsletter for progressives who want to actually engage with AI instead of just being scared of it. Landing page, Beehiiv publication, Cloudflare Worker signup flow, and AI-generated photo banners for each issue.
highspeedrail.tv
Curated video site for high-speed rail advocacy. YouTube API-powered admin panel for searching, queueing, and reviewing videos. AI helps evaluate new content quickly. Auto-deploys on push.
MDM Fleet Management
Runbook for managing Mac fleets at two nonprofit clients. FileVault key escrow, Escrow Buddy deployment, remediation tracking, and a side-by-side comparison of Mosyle vs. JAMF Now.
Running a 30-year-old online community
I've been running an online creative writing community since 1994. 139 active members, 438,000+ collaborative stories, five web properties. Claude helped me overhaul the whole thing.
Staff Operations Platform
Replacing the mess of Google Sheets, email chains, and tribal knowledge we'd been using. 15-table data model, 136 members imported, NocoDB backend, Authentik SSO, Next.js admin panel with role-based access.
Visitor Fingerprinting Plugin
WordPress plugin that fingerprints visitors (canvas, WebGL, fonts, screen data) and checks them against banned users when someone applies to join. Catches the folks who get banned and come back under a new name.
438K-Post Archive
Every collaborative story the community has ever written, stored in Firebase. Cloud Functions handle the data processing, with automated backups to iDrive (5.2GB raw, 1.76GB compressed).
4-Pipeline Backup System
Offsite backups for everything: cPanel snapshots, custom DB dumps (had to work around a 268MB kernel memory cap), Firebase archive exports, and VPS configs.
MediaWiki 10x Speedup
Got a 54,000-page wiki from 1.5s down to 0.15s page loads. Migrated to PHP 8.2 + FPM, added APCu caching, turned on OPcache JIT, and cleaned out a 1.38GB stale cache table.
WordPress 14x Speedup
WordPress Multisite homepage went from 3.4s to 0.24s. Cleaned out 87MB of orphaned tables, removed 5 themes nobody was using, and optimized 284 database tables.
SEO Program
SEO overhaul across all 5 web properties. RankMath on WordPress, GA4 everywhere, Search Console for 3 domains, 11 new content pieces, and drip email campaigns.
Constitution Rewrite
Rewrote the community's governing documents from scratch. Read through 114 forum posts of old debate, pulled together two previous rewrite attempts, and put together an annotated review presentation with a 55-row traceability matrix.
Annual Address Builder
App for putting together the community's annual address from 11 groups' submissions. Role-based auth, Claude API for AI-assisted summaries, and wiki integration.
Server Monitoring
Self-hosted Netdata with custom health alerts and a status dashboard that pulls live metrics via API every 30 seconds.
Security Plugin
WordPress must-use plugin that locks down private multisite sub-sites. The old plugin left the REST API and RSS feeds wide open. This one blocks everything. Covers 6 internal staff sites.
Email Infrastructure
Set up Sendy for 3 brands after AWS SES denied production access. Switched to SMTP2GO, designed custom HTML email templates, built a 3-email drip sequence, and redid 9 notification templates across 4 sites.
Building the systems my brain needs
I have ADHD. Off-the-shelf productivity tools either overwhelm me or bore me until I stop using them. So I built my own.
AI Progress Tracker
My first AI build, before Claude Code even existed. Tracks the predictions from Dario Amodei's "Machines of Loving Grace" essay across four categories: biology, neuroscience, economics, and governance. Progress bars, expandable sections, and a Reddit community for discussion. Originally on Vercel, recently migrated to Cloudflare Pages.
Drift
My main productivity app, built from nothing to deployed in one sitting. Task management that lets me bounce between projects without guilt, a debt payoff tracker (avalanche method), uptime monitoring for 17 sites, and a social content drafting pipeline.
Smart Bookmarks
Click a bookmarklet on any page. A Cloudflare Worker grabs the content, Claude generates a title, description, and tags, and it all saves to Raindrop.io. I never have to tag bookmarks manually again.
Fathom Sync
I kept losing action items after meetings. This polls Fathom AI (the meeting note-taker) and syncs summaries to Notion while turning action items into tasks in Drift. Runs twice a day on its own.
Healthy Eating System
Not an app, more of a system. ADHD plus reactive hypoglycemia means I can't rely on willpower for meal decisions. 64-item food database, auto-generated grocery lists, and a Friday reminder to confirm Saturday pickup.
Secrets Manager
261-line Python CLI that keeps API keys in sync across two config files at once. Found 2 mismatches the first time I ran it.
Lease Tracker
React PWA that answers one question: "How many miles can I drive today?" Tracks remaining daily mileage for my car lease. Works offline. Fits in a single HTML file.
Personality Profile
Fed Claude 1,023 of my AI conversations plus a formal psych evaluation and had it build a personality profile. Using AI to understand how I use AI. Pretty meta.
The stories behind the projects
The stats are fine, but the real stuff is in the details.
Built Drift in a Single Session
February 8: Started from an empty folder. By the end of one sitting I had a working Next.js app with SQLite, all the API routes, Docker config, and four default project areas seeded. I've used it every day since.
10x Wiki Speedup
54,000-page wiki, 1.5 seconds down to 0.15 seconds. PHP 8.2 migration, APCu caching, OPcache JIT, and cleaning out a 1.38GB stale cache table. Fun fact I learned the hard way: APCu's CLI and FPM memory pools are completely separate.
The Backup That Wouldn't Fit
A 40GB archive kept crashing the backup system. Turns out the VPS had a 268MB kernel memory cap that killed any tar+gzip operation. After a bunch of failed attempts, we redesigned the whole approach: separate DB dumps from file sync, skip compression entirely.
Eight Projects in One Day
February 16: Migrated an email platform, shipped two milestones of a SaaS app, wrote a client acquisition strategy, ran an infrastructure audit with parallel AI agents, worked through a data model design, deployed SEO fixes, and more.
Finding the Silent Failures
Some of the most useful work was just finding stuff that was broken and nobody noticed. A 41GB backup that never actually ran. An AWS Glacier bill from 2.1TB of forgotten archives. Forum emails silently failing for 31 days. An internal wiki exposed to the public via REST API.
AI Analyzing AI Conversations
I gave Claude 1,023 of my old AI conversations plus a formal psych evaluation. It produced a 271-line personality profile that any future AI session can read to understand how I work, how I think, and how my ADHD shows up.
Follow the journey
I write about what it's actually like to build all of this — the wins, the weird bugs, and the things I'm still figuring out.
Read Building in Public