Ship Fast, Iterate Faster: Building Crisis Support in Three Deployments
How Foster Greatness UK deployed crisis support infrastructure three times in 5.5 hours. A deep-dive into the messy, iterative process of building technology that serves communities under pressure.
Part 1 of 6: Building What Matters
11:58 AM — First deployment. Core crisis support messaging live.
2:30 PM — Second deployment. Conversion optimization added.
4:08 PM — Third deployment. Analytics tracking enabled.
Three deployments. Five and a half hours. One crisis support platform.
Most social services spend months planning before launch. Foster Greatness UK shipped three times in one afternoon on September 29, 2025. Each deployment added value without blocking the previous one.
What does it mean to build crisis support at crisis speed?
The answer starts at 10:49 AM, when the first line of code was written.
The Philosophy: "No Waitlists, No Requirements"
At 10:54 AM, four words changed everything about how we'd approach development that day:
"Crisis Assistance: Personalized help with expenses, rent, crisis funding, basic needs. No waitlists or requirements. Emergency housing and critical assistance available. Team support when you need it most."
This wasn't marketing copy. It was architecture.
Traditional social services create barriers at the moment of greatest need. Proof of income. Residency documentation. Eligibility interviews. Waiting periods lasting weeks or months. By the time someone navigates the maze, the crisis has often deepened.
Foster Greatness UK took a different approach: Show up. Get help. Period.
But here's the technical implication that shaped our entire day: If your VALUES say "no waitlists," your DEVELOPMENT VELOCITY must match.
You can't tell someone in crisis "help is coming" and then spend six months perfecting your platform. The code has to move at the speed of the need.
Ten minutes earlier, at 10:50 AM, we'd established who was building this:
"Foster Greatness is the only digital community platform built entirely by and for people impacted by the care system."
This isn't charity from above. It's peer-to-peer infrastructure. When your founders ARE your users, when lived experience drives every design decision, you don't build theoretical features—you build what your community needs right now.
So when the clock started at 10:49 AM, the goal wasn't perfection. It was shipping something that could help someone TODAY.
Deployment 1: The Crisis MVP (11:58 AM)
What Shipped in 2 Hours 9 Minutes
From 10:49 AM to 11:58 AM, we ran a sprint to answer one question: What does someone in crisis NEED to know in the next 10 minutes?
What made it into Deployment 1:
- •Hero messaging declaring lived-experience leadership
- •Four pillars defined: Crisis Assistance, Resource Support, Employment Pipeline, Events & Workshops
- •Mobile-responsive design tested and working
- •Single call-to-action: "Get Involved" linking to a Typeform
- •Device mockups showing the interface on iPhone screens
- •Interactive navigation allowing screenshot click-through
What was deliberately left out:
- •Perfect branding and logo spacing
- •Analytics and measurement infrastructure
- •Comprehensive GDPR compliance documentation
- •Polished legal footer
- •Every nice-to-have feature we could imagine
The MVP question wasn't "What's the smallest thing we can build?" It was "What does someone in crisis need to know to decide whether to reach out?"
The answer: That help exists. How to access it. What kind of support is available. That's it.
Everything else could wait until Deployment 2.
Mobile-First as Blocker
At 11:45 AM, we hit a critical bug. Screenshots weren't appearing on mobile devices—iPhone mockups were showing blank backgrounds where interface images should be.
This became a deployment blocker immediately.
Here's why: Crisis calls come from phones.
Who's most likely to only have mobile access? People experiencing homelessness. People with unstable housing. People who can't afford laptops. Young people—and care-experienced youth are often young.
If your crisis tool doesn't work on mobile, it doesn't work for the people who need it most.
For six minutes (Sessions 11:45-11:51), we debugged. Multiple attempts. Playwright automated testing. Display parity verification across screen sizes. This wasn't "nice to have polish." This was a blocker.
Deployment 1 couldn't ship until mobile worked.
Contrast this with the issues we DID ship with: Logo spacing looked imperfect (Session 11:21)? Ship anyway. Metrics overlay felt cluttered (Session 11:44)? Fix it, but not a blocker. Mobile blank screens? BLOCKER. Fix before shipping.
The pattern: Mobile-first equals crisis-first. Device equity equals access equity.
Language as Infrastructure
At 11:39 AM, we made a subtle but crucial change. The original "Crisis Support" bullet point became "new content to help you thrive."
This matters because language shapes expectations. Language reduces stigma. Language signals philosophy.
Every word choice in Deployment 1 reflected trauma-informed design:
- •"Get Involved" (not "Sign Up" or "Apply")
- •"Spaces where you're seen, celebrated, and never alone" (not "services available")
- •"Team support when you need it most" (not "case management")
- •"Lifelong peer support" (not "services until age 18")
Words are infrastructure. Bad UX copy creates barriers. Good UX copy removes them.
This pattern of treating language as infrastructure—not cosmetic copy—would continue the next day when UK language localization became a central focus→, systematically replacing "foster care" with "the care system" to honor UK care-experienced community voice.
Getting the language right was as important as getting the mobile experience right. Deployment 1 couldn't ship with institutional language that would signal the same gatekeeping we were trying to eliminate.
Shipping Deployment 1
At 11:58 AM, we pushed to GitHub and deployed via Vercel.
Two hours and nine minutes from first line of code to production.
The platform was live. Core messaging: clear. Mobile functionality: working. Language: trauma-informed. Path to help: one click.
Was it perfect? No.
Did it solve the problem "someone in crisis needs to know help exists"? Yes.
The social enterprise advantage showed itself immediately: Modern dev stack (Next.js, Vercel, Magic UI) enables this velocity. The $0 infrastructure budget means you can ship fast and iterate without "we only get one shot" pressure that paralyzes so many projects.
But Deployment 1 was just the foundation.
Deployment 2: Conversion Optimization (2:30 PM)
The Afternoon Strategy Shift
At 1:38 PM, we took a break. Deployment 1 was live. We'd answered the morning's question: "Can people in crisis find us and understand what we offer?"
The afternoon question became: "Can we optimize the path from awareness to connection?"
Between Deployment 1 and Deployment 2, the focus shifted from existence to excellence—not perfection, but targeted improvements to conversion pathways.
"Get Involved" - The CTA Strategy
At 2:27 PM (Session 14:27), we made a structural decision: All call-to-action buttons would link to a single Typeform at https://doinggoodworks.typeform.com/to/PVexa7et.
Not multiple forms. Not complex multi-step registration. One URL. One pathway.
The exception: "Visit Foster Greatness USA" remained as a cross-regional link, but everything else pointed to the same place.
Why does this matter? Every additional form equals friction. Every additional step equals an abandonment opportunity. When someone in crisis decides to reach out, they need a clear, singular path forward.
One minute later, at 2:28 PM (Session 14:28), we standardized all CTA language to "Get Involved."
The shift from transactional to invitational language matters more than it might seem. "Sign up" implies: "You're applying for something we might give you." "Get involved" implies: "You belong here. Join us."
This is crisis support as community membership, not service consumption. The language shapes the business model. Social enterprise language is community infrastructure language.
The GDPR Tension
At 2:33 PM (Session 14:33), we hit a real-world constraint that every social enterprise building in Europe faces: GDPR compliance.
Foster Greatness UK is launching in the UK and EU. That means navigating data protection regulations designed for enterprises—while running on social enterprise resources.
The tension is real:
- •Crisis immediacy: "I need help NOW"
- •Privacy protection: "We must safeguard your data"
Traditional social services have compliance departments. Legal teams. Risk managers.
Social enterprises have determination, Claude Code, and pragmatic decision-making.
Our approach:
- •Research GDPR requirements (Session 14:33) ✓
- •Choose tools with built-in compliance (Typeform, PostHog) ✓
- •Minimize data collection to only what's essential ✓
- •Document good-faith efforts ✓
- •But DON'T let compliance BLOCK deployment ✓
Compliance matters. Access matters more.
Perfect compliance is impossible for small organizations. Good-faith effort is legally sufficient. The principle: Prioritize access, document privacy practices, improve continuously.
Session 14:33 didn't delay Deployment 2. It informed it. We chose Typeform (established compliance infrastructure) and PostHog (privacy-first analytics, coming in Deployment 3) precisely because they handle compliance thoughtfully.
Deployment 2 Ships
At 2:30 PM, we pushed the second deployment to production.
What shipped:
- •Consistent CTAs ("Get Involved" everywhere)
- •Footer polish (real contact email, removed placeholder legal links)
- •Foundation for Deployment 3
Was it perfect? No. Logo spacing was still frustrating us (that saga would consume eight sessions later that afternoon).
Did it improve conversion pathways? Yes.
One more deployment to go.
Deployment 3: The Measurement Layer (4:08 PM)
Why Analytics Matter for Crisis Support
At 3:57 PM (Session 15:57), we began planning PostHog analytics integration.
You can't improve what you don't measure. But measuring crisis support raises questions that typical startup metrics don't address.
Traditional startup metrics focus on efficiency:
- •User acquisition cost
- •Conversion rates
- •Revenue per user
- •Retention curves
- •Monthly active users
Crisis support metrics need to focus on dignity:
- •How many people in crisis found help?
- •How quickly could they access support?
- •Did they feel safe, seen, celebrated?
- •Did emergency support lead to long-term community belonging?
What's the "success" metric when your product is human dignity?
We decided to integrate analytics. But not just any analytics—privacy-first, open-source analytics that align with our mission.
PostHog vs. Google Analytics
Why NOT Google Analytics?
Google Analytics represents surveillance capitalism. It monetizes user data, tracks users across the internet, sells insights to advertisers, and treats users as products.
For a platform serving vulnerable populations—care-experienced youth in crisis—this is a fundamental values misalignment.
You can't say "we empower people" while selling their data to the highest bidder.
Why PostHog?
PostHog is privacy-first and open-source:
- •Self-hostable (you own your data)
- •No cross-site tracking
- •GDPR-compliant by design
- •Open-source (transparent, auditable)
- •Community-driven, not ad-driven
- •Users are community members, not products
This isn't just a technical choice. It's a business model choice.
Traditional social services extract value (even unintentionally via data). Social enterprises build trust through ethical data practices.
Data ethics aren't just compliance—they're competitive advantage. Vulnerable populations NEED to trust you. Privacy-first analytics build that trust.
The Implementation
Between 3:57 PM and 4:08 PM (Sessions 15:57-16:08), we implemented PostHog.
The process:
- •"Ultrathink" the integration plan
- •Configure Vercel environment variables
- •Update
.env.localfor local development - •Use Ref tools to check current PostHog documentation
- •Test locally
- •At 4:08 PM: "It's working!"
Eleven minutes from decision to working implementation.
The velocity pattern continued: Modern tools plus pragmatic decisions equals fast iteration.
Deployment 3 Ships
At 4:08 PM, we pushed the third and final deployment.
The platform was now:
- •✓ Live with core crisis support messaging (Deployment 1)
- •✓ Optimized for conversion pathways (Deployment 2)
- •✓ Measuring impact ethically (Deployment 3)
Known issues still present:
- •Console warnings (Session 16:14) - documented, non-blocking
- •Logo spacing could be better
- •Legal footer links still placeholder
We shipped anyway.
Five Lessons from Three Deployments
Lesson 1: MVP Means "What Can Help Someone TODAY?"
Define "minimum viable" from the user's crisis perspective, not your feature wishlist.
Traditional MVP thinking asks: What's the smallest thing we can build? What features can we cut? What's good enough?
Crisis support MVP thinking asks: What does someone in crisis NEED to know right now? What information creates safety? What pathways enable immediate action?
Foster Greatness Deployment 1 MVP included:
- •Help exists (hero message)
- •What kind of help (four pillars)
- •How to access it (one CTA)
- •It works on my phone (mobile-first verification)
Everything else was Deployment 2 or 3.
Your MVP isn't "minimum features." It's "maximum crisis-utility in minimum time."
Lesson 2: Identify Blockers vs. Polish
Not all bugs are created equal. Know what blocks deployment versus what's iterative improvement.
Blockers (Must Fix Before Shipping):
- •Mobile blank screens (Session 11:45) → Crisis calls come from phones
- •Broken CTAs (Session 11:54) → Can't get help if the button doesn't work
- •Institutional language → Signals wrong philosophy
Polish (Ship Now, Fix Later):
- •Logo spacing (Sessions 15:27-15:35) → Annoying, but doesn't prevent access
- •Console warnings (Session 16:14) → Non-user-facing
- •Perfect branding → Nice to have
- •Legal footer completeness → Iterative
Foster Greatness shipped three times with known imperfections. We fixed blockers and documented polish for later iterations.
Perfection is the enemy of crisis response. Ship with blockers resolved, improve continuously.
Lesson 3: Language Is a Feature, Not Just Copy
Every word choice either reinforces or undermines your values.
Evidence from September 29:
- •"Crisis Support" → "content to help you thrive" (Session 11:39)
- •"Sign Up" → "Get Involved" (Session 14:28)
- •"Services" → "Support"
- •"Beneficiaries" → "Community members"
Deficit language creates stigma. Asset language creates belonging.
Transactional language signals service consumption. Invitational language signals community membership.
Deployment 1 couldn't ship until the language was right. Words are infrastructure—they either remove barriers or create them.
Audit your UX copy. Do your words signal charity or community? Do they reduce or reinforce stigma?
Lesson 4: Compliance Should Inform, Not Block
Navigate regulation pragmatically. Good-faith effort beats perfect compliance.
The GDPR session (14:33) demonstrated this:
- •Research done ✓
- •Constraints understood ✓
- •Tools chosen with compliance in mind (Typeform, PostHog) ✓
- •But didn't DELAY Deployment 2 ✓
Social enterprise reality: You don't have a compliance department. You have limited resources. You're competing with institutional services that DO have legal teams.
The approach:
- •Minimize data collection
- •Choose privacy-first tools
- •Document good-faith efforts
- •Prioritize access
- •Improve iteratively
Compliance matters. Access matters more. Don't let perfect compliance prevent people in crisis from getting help.
Lesson 5: Data Ethics Are Competitive Advantage
Ethical data practices differentiate social enterprises from both startups and traditional services.
PostHog over Google Analytics represents a positioning choice:
- •Privacy-first (builds trust with vulnerable populations)
- •Open-source (transparent, auditable)
- •Self-hostable (data ownership)
- •Mission-aligned (not surveillance capitalism)
Traditional startups extract data value. Traditional social services collect data for funders. Foster Greatness measures to improve and protects to build trust.
You can't fake data ethics. Foster Greatness won't monetize member data. That's brand differentiation and competitive moat.
Choose tools that align with your mission. Data ethics aren't just compliance—they're trust-building.
The Social Enterprise Model Behind the Velocity
Three deployments in five and a half hours didn't happen by accident. The infrastructure that enabled this velocity is itself part of the social enterprise model.
Open-Source Stack = $0 Infrastructure:
- •Next.js (free)
- •Vercel (free tier)
- •PostHog (free community edition)
- •Magic UI (free component library)
- •GitHub (free)
- •Total infrastructure cost: $0
Business-Powered Model = Sustainable Iteration:
Foster Greatness is powered by DGW Branded, a social enterprise selling promotional products. Business revenue funds community programs. This isn't donation-dependent charity—it's a business-powered model that enables sustainable iteration.
This business-powered model—where DGW Branded revenue funds community programs—creates sustainable iteration capacity. It's what enables both the infrastructure investments of September 30th→ and the sustained dual-platform operations of October 21st→.
Because we're not dependent on grant cycles or fundraising campaigns, we can ship three times in one day. We can iterate based on community needs, not funder requirements.
Lived-Experience Leadership = Built-In Product-Market Fit:
When your founders ARE your users, you don't need expensive user research. The community feedback loop is immediate and authentic. Feature prioritization comes from lived experience, not theoretical frameworks.
The Build-in-Public Meta-Layer:
That same day, between 1:52 PM and 2:46 PM (US Central time), we also launched What's Good—the platform built to document this work. Building crisis support infrastructure wasn't enough. We built the documentation infrastructure in parallel.
This is intentional. Build-in-public isn't a marketing afterthought—it's part of the social enterprise model. Transparency builds trust. Sharing our process helps other organizations. Documentation becomes community value.
Social enterprises can have startup velocity when you choose the right stack, the right business model, and center lived experience.
The Challenge
Let's return to where we started:
11:58 AM — First deployment. Core crisis support messaging live.
2:30 PM — Second deployment. Conversion optimization added.
4:08 PM — Third deployment. Analytics tracking enabled.
By 4:14 PM on September 29, 2025, Foster Greatness UK was live. Imperfect. Iterating. Helping.
Here's the question for you:
What would YOU have waited to "perfect" before shipping?
Look at your own projects—crisis support or otherwise. What's blocking your deployment? Is it actually a blocker, or is it polish?
Are you waiting for perfect branding? Perfect analytics? Perfect compliance documentation? Perfect feature completeness?
Or could you ship an MVP today that helps someone tomorrow?
The contrast is stark:
Traditional social services: Plan perfectly, launch once, iterate slowly (if at all).
Social enterprise approach: Ship fast, improve continuously, serve community NOW.
Crisis support requires crisis velocity. Not recklessness—we fixed the mobile bugs and chose privacy-first analytics and researched GDPR requirements. But we didn't let perfection prevent deployment.
The people Foster Greatness serves can't wait six months while we perfect logo spacing. They need to know today that help exists, that it's accessible, that it's from people who understand.
So we shipped. Three times. In one afternoon.
What are you building? How fast are you shipping?
And more importantly: Who's waiting for you to be done?
But September 29th's velocity wasn't accidental—it was enabled by strategic infrastructure investments. The very next day, we spent 106 sessions building tools that would make every future feature faster→, including an API documentation server and language equity systems. Crisis velocity is only possible when you invest in infrastructure thinking.
In our next post, we explore what happens after the initial velocity: Running Two Platforms at Once→ shows how October 21st's dual-platform operations required sustained grinding work to maintain live platforms that people depend on. Crisis velocity gets you launched. Sustained operations keep you running.
Read Next in the Series
Part 2: Building Tools to Build Better Platforms→ — How 106 sessions on September 30th built zero customer-facing features and made everything faster forever.
Part 3: Running Two Platforms at Once→ — The reality of business-powered social impact when revenue and mission platforms demand simultaneous excellence.
About this series: "Building What Matters" is a 6-part deep-dive into the messy, iterative, human process of building technology that serves communities. Each post chronicles a single intensive day of development work—the decisions, the dead ends, the breakthroughs, and the "why" behind the code.
About This Post
This post is based on 72 development sessions from September 29, 2025 (57 Foster Greatness UK sessions, 11 Mentor4Good sessions, 4 What's Good sessions). All timestamps and technical details are drawn from actual Claude Code session logs, part of our build-in-public commitment to transparency.
Foster Greatness is powered by DGW Branded, a social enterprise. Learn more about our business-powered model and how lived experience drives our work at What's Good.
Part 1 of 3