D²
Back

From Google Forms to a production SaaS platform

SaaS App
Ironclad Digital is a home restoration marketing agency doing about $3M in revenue with plans to scale to $9M. Their client onboarding was held together with Google Forms, spreadsheets, and paper credit card collection. Every new client meant 10+ hours of manual processing and 14+ days to get started. Growing to $9M would mean tripling staff just to keep up. I took this on as a paid client engagement and delivered everything solo. Discovery, design, architecture, full-stack development. I used Claude for planning, Claude Code for technical architecture, and Cursor for UI refinement. What would normally need a cross-functional team, I shipped as one person. The result is a production platform that automates the contract-to-launch pipeline, gives the internal team role-based dashboards, and provides clients a self-service portal to track their own progress.
Role:Solo Practitioner (Design, Architecture, Development)
Client:Ironclad Digital (home restoration marketing agency)
Platform:Web Application (SaaS)
AI Workflow:Claude, Claude Code, Cursor
Status:Live and in client adoption
Case study image 1
Case study image 2

The Problem

Manual onboarding couldn't scale

Every new client required 10+ hours of processing across disconnected tools. Google Forms, spreadsheets, email chains, paper payment collection. Onboarding took 14+ days. At $3M in revenue this was painful. At $9M it would be impossible without tripling headcount.

No visibility and no connected pipeline

Nobody had a clear picture of where clients stood. The internal team had no centralized tracking. Clients couldn't check their own status, which generated constant calls and emails. The real issue was structural. Contract signing, payment, intake, and kickoff were all disconnected steps with manual handoffs at every transition.

Payment collection was a liability

Credit card information collected on paper forms created PCI compliance risk. Payment processing was delayed and inconsistent, creating cash flow gaps.

Design Goals

Automate the critical path

Eliminate manual handoffs with automated triggers and workflows.

Create transparency for everyone

Real-time dashboards for the internal team. Self-service portal for clients.

Design for non-technical users

Intuitive interfaces that require zero training. The agency's team aren't developers.

Enable scale without headcount

Support 100+ concurrent clients without adding staff.

Solutioning

Discovery first

I ran stakeholder interviews, workflow mapping, and pain point prioritization. The real problem wasn't any single tool gap. It was the absence of a connected pipeline from contract signing through project launch. Everything was disconnected, and every connection point required a person.

AI-driven development workflow

This project was built using an AI-driven workflow that let me operate as a full team. I used Claude for strategic planning. Scoping decisions, system design, and complex product questions all got worked through before any code was written. Claude Code handled the heavy technical work like database schema design, API architecture, and core platform logic. Cursor was where I did UI refinements and focused component-level work, the kind of thing where directly editing code is faster than describing what you want. The whole build followed an Agile framework I adapted for AI-assisted execution. Epics, sprints, iterative delivery. Not "ask AI to write code and hope." A disciplined process with structure.

What I built

Automated contract-to-launch pipeline:

Contract signature triggers payment link generation. Payment triggers form distribution. Form completion triggers milestone progression. Fully automated.

Role-based dashboards:

Sales sees their pipeline and commissions. Operations sees bottlenecks. Delivery sees assigned projects. Each role gets what they need and nothing they don't.

Client self-service portal:

Clients track their own progress, complete forms, download documents, and message the team. This eliminated the constant status-update calls that were eating up the ops team's time.

5-stage milestone system:

Instead of building enterprise-grade task management, I designed a clear pipeline. CONTRACT → DESIGN → BUILD → REVIEW → LAUNCH. Everyone can see where any project stands at a glance.

PCI-compliant payment processing:

Stripe-powered digital contracts, payment links, and subscription management replaced the paper forms. Same-day processing instead of delayed manual invoicing.

Influencing

01

Knowing when to simplify

The most important decisions on this project were about what not to build. The initial scope included a 15,000+ line analytics suite. Through conversations with the client, I realized it was over-engineered for a small agency. I stripped it to 4 essential KPIs and pointed them to Stripe's native dashboard for financial detail. Less code, better usability. Same thing with task management. The initial design was enterprise-grade in complexity. I pushed toward the simpler milestone model, which actually matched how they work and was far easier to adopt.
02

Designing for independence

I deliberately chose tools that reduce the client's dependency on me after launch. The automation layer uses a visual workflow builder so their ops team can modify flows without a developer. The infrastructure is fully managed. The codebase uses well-documented component libraries any React developer could pick up. I could have built custom solutions that required ongoing engagement from me. Instead, I optimized for their long-term autonomy.
03

Stakeholder alignment

The agency owner cared about ROI. The sales team cared about speed. Operations cared about visibility. I structured demos around each group's priorities rather than running one-size-fits-all updates.

Outcomes

One person shipped what typically takes a team

Discovery, design, architecture, frontend, backend, authentication, automation, deployment. All delivered solo using AI-driven workflows.

Projected to cut onboarding from 14 days to under 7

The automated pipeline eliminates manual handoffs. Payment processing moves to same-day. Form collection gets triggered automatically instead of being chased manually.

Built for 3x growth without additional staff

Designed to support 100+ concurrent clients, up from roughly 30 under the manual process.

Estimated 80% reduction in manual processing

From 10+ hours per client to about 2 hours. The remaining time is judgment-based work that shouldn't be automated.

Eliminated PCI compliance risk

Paper payment collection replaced with Stripe-powered digital flows.

Designed for handoff, not dependency

Visual automation tools, managed infrastructure, documented codebase. Built to outlast my involvement.

Live and in adoption

The platform is in production and the client's team is actively onboarding.