Real problems. Real systems. Real results.

A closer look at real builds, the challenge, the decisions, and how it all came together.

End-to-End Automation

Newsletter Subscription System

Building the full backend infrastructure for a live subscription newsletter, from payment to subscriber record to welcome email, with human oversight at the moment it matters most.

The Challenge

A faith-based content creator was running a subscription newsletter with no connected backend. Payment processing, subscriber records, and email delivery were all separate: manual, fragmented, and unsustainable as the audience grew. There was no system tying any of it together.

What I Built

An end-to-end automation stack connecting every step of the subscriber lifecycle. When someone completes payment through PayPal, a webhook fires and triggers an n8n workflow that logs their information to Airtable, checks for duplicates, and queues a custom-designed HTML welcome email through Brevo.


Human-in-the-loop approval is built into the workflow before email delivery, a deliberate design decision. First contact with a new subscriber is a meaningful moment, and the system was built to keep a real person in the loop at exactly that point.

The Stack

PayPal n8n Airtable Brevo

A fully automated subscriber lifecycle with intentional human oversight built in. The system handles the heavy lifting. The creator retains control where it matters most, and focuses entirely on content.

Enrollment Automation

Student Enrollment System

Replacing a fragmented, manual enrollment process for a clinical skills program with a complete automated stack: payment, student records, subscription management, and auto-cancellation across three pricing tiers.

The Challenge

An online education course was processing student enrollment with no connected infrastructure. Payments came through a standalone form tool, student records had to be updated in Airtable by hand, and subscriptions had no automatic end point. With multiple pricing tiers, a scholarship program, and cohort-based enrollment, the manual process was becoming unsustainable. Every new student created work.

What I Built

Three custom enrollment forms: monthly recurring, quarterly recurring, and one-time payment, each embedded directly in WordPress with Stripe handling payment. A single n8n workflow receives submissions from all three forms via webhook and automatically creates or updates the student's record in Airtable, populating cohort details, tuition type, and status fields based on which form and pricing tier was used.


A second workflow monitors every successful Stripe payment and automatically cancels the subscription after the correct number of payments: nine for monthly plans (including a scholarship tier at a reduced rate), three for quarterly. When the final payment clears, the subscription is set to cancel at period end and the student receives a program completion email through Brevo. No manual intervention at any step.

The Stack

WordPress / Forminator Pro Stripe n8n Airtable Brevo

A student enrolls, pays, and is in Airtable with the right cohort data within seconds. Subscriptions stop automatically when the program is complete. The only thing left for the program director to do is teach.

AI-Assisted Development

Mental Health Support Web App

Building a responsible, evidence-based decision-support tool for moments of emotional dysregulation, without a traditional development team, and with safety architecture at the center.

The Challenge

A client needed a structured decision-support tool for people experiencing emotional dysregulation, moments when someone knows they need help but cannot think clearly enough to determine what to do. No existing tool addressed this specific gap responsibly. The app would need to handle sensitive content with care, which meant safety architecture wasn't an afterthought. It was the foundation.

What I Built

A full Next.js application, directed and built using Claude Code, with every structural and ethical decision made by the human, and the AI brought in to implement them precisely.


The app required a two-layer safety architecture: content objects flagged declaratively at the data level, plus a real-time keyword-detection system. Both layers route users to a dedicated screen with real crisis resources before any other content appears. That screen wasn't a checkbox. It was designed with the same care as the rest of the app.


The app is fully static. No backend, no database, no API keys, no user data collected. That's not a limitation. It's a deliberate choice that keeps the app fast, private, and deployable anywhere.

The Stack

Next.js 14 (App Router) TypeScript Tailwind CSS Claude Code Vercel

A production-ready application built without a traditional development team, through precise, intentional AI direction. The project demonstrates that domain expertise, ethical thinking, and thoughtful prompting can ship real, responsible software.

Payment Security & Compliance

Secure Card Update System & PCI Compliance Reduction

Eliminating the manual, high-risk process of collecting payment card updates from existing subscribers, and reducing PCI compliance overhead from quarterly server scans to the lightest possible tier in the process.

The Challenge

An online education program had an existing subscriber base on Authorize.net's recurring billing system. When a card expired or was declined, the recovery process was manual: tracking down the student, collecting new card details, and re-entering them by hand. Beyond the time cost, the process created compliance exposure: handling card data outside a secure hosted environment placed the business under more demanding PCI DSS requirements, requiring quarterly vulnerability scans on the server through SecurityMetrics.

What I Built

A two-workflow automation system that removes card data from the equation entirely. When a payment declines, the program director fills out a single n8n form with the student's account ID and email address. n8n calls the Authorize.net API to generate a one-time secure token for that student's hosted profile page, encodes it safely for transmission, and sends the student a link via Brevo.


There was a non-obvious technical constraint: Brevo wraps every link in a click-tracking URL, and Authorize.net tokens contain characters that cause tracker URLs to break. The solution was a second n8n webhook that Brevo tracks as a clean URL. When the student clicks the link, n8n receives the request and responds with an auto-submitting HTML form that delivers the token to Authorize.net's hosted profile page via a proper POST request. The student updates their own card directly on Authorize.net's secure environment. No card data ever touches the business owner's server at any point in the flow.

The Stack

Authorize.net (CIM + ARB) n8n Brevo n8n Redirect Webhook Authorize.net Hosted Profile Page

After implementation, SecurityMetrics confirmed a PCI compliance reduction from SAQ C/D to SAQ A, the lightest tier possible, reserved for merchants whose systems never touch card data. Quarterly server vulnerability scans were eliminated. Declined card recovery dropped from a 20-30 minute manual process to under two minutes. Students handle their own updates securely. The business owner is never in the loop for card information.

Content Scheduling Automation

Forum Content Scheduling System

Replacing a tedious, error-prone manual process for scheduling online course forum content with a reusable automation system that handles an entire 12-week cohort in under two minutes.

The Challenge

An online mental health skills program runs cohort-based courses across three modules, each lasting 12 weeks. Every cohort requires 37 bbPress forum topics to publish on specific dates, in specific forums, at specific times, with different reply settings depending on the content type. The process was done entirely by hand: logging into WordPress, opening each topic one at a time, setting the date, assigning the forum, adjusting settings, and repeating. It was detailed, stressful work that left no room for error and created real burden for everyone involved.

What I Built

A custom WordPress REST API endpoint, added via a lightweight PHP snippet, that accepts a topic ID, forum ID, publish date, and reply-settings flag in a single call. The endpoint updates the topic's publish schedule, corrects the forum assignment, and handles content-type-specific settings automatically. Midweek materials, which should never accept student replies, are flagged on the way in and automatically closed the moment they publish, using WordPress's native post-transition hooks rather than a separate scheduled job.


The complete topic and forum reference for all three modules was extracted from the WordPress database using a temporary admin-only lookup endpoint built for the occasion, bypassing a third-party membership plugin that was filtering the standard REST API results. Once the reference data was captured and saved, the lookup endpoint was removed.


The scheduling system is invoked through a reusable Claude skill. Provide a module name and a start date, and the skill calculates every publish date across the full 12-week schedule, confirms the plan before running, and calls the WordPress endpoint for each topic sequentially, reporting success or failure per item. The entire workflow runs in under two minutes and is designed to be reused for every future cohort with no additional setup.

The Stack

WordPress (PHP / REST API) bbPress Claude Code WishList Member

37 forum topics scheduled across 9 forums, with correct dates, correct forum assignments, and correct reply settings, in under two minutes. A process that previously required hours of careful manual work is now a single command. The system is fully reusable across three course modules and any number of future cohorts.

Beyond Client Work

Tools I've Built

Alongside consulting work, I build and ship my own products. These are live, real things people use.

Word Game Tool

Spelling Bee Helper

A free browser tool for word puzzle fans. Enter any set of letters and instantly find every valid word, with filters for the NYT Spelling Bee's center-letter rule and Wordle constraints. Single-file HTML, no backend, deployed to Cloudflare Pages with AdSense and a custom domain.

spellingbeehelper.com →
Consumer Product

BudgetStreamer

Enter your favorite shows and find out which streaming services to keep. BudgetStreamer checks real-time availability across every major platform, tallies results, and tells you exactly which subscriptions are worth it. Built with Cloudflare Pages Functions and a streaming data API, with a full retro-80s synthwave design.

budgetstreamer.com →

Ready to build something like this?

Whether you need a full automation stack, a custom build, or just a clear path forward. Let's talk about what's possible.