|
| 1 | +import type { Metadata } from "next"; |
| 2 | +import Image from "next/image"; |
| 3 | +import HeroSimple from "@/components/HeroSimple"; |
| 4 | +import CTA from "@/components/CTA"; |
| 5 | + |
| 6 | +export const metadata: Metadata = { |
| 7 | + title: "Case Study: Mayday | Good Robot Co.", |
| 8 | + description: "How we built an intelligent lead generation system that automatically discovers and qualifies web development opportunities.", |
| 9 | +}; |
| 10 | + |
| 11 | +export default function MaydayCaseStudy() { |
| 12 | + return ( |
| 13 | + <> |
| 14 | + <HeroSimple |
| 15 | + title="Mayday: Intelligent Lead Generation" |
| 16 | + subtitle="Automating the hunt for web development clients—from 15 hours/week of manual work to zero" |
| 17 | + /> |
| 18 | + |
| 19 | + <main className="max-w-4xl mx-auto px-6 py-16 space-y-16"> |
| 20 | + {/* Overview */} |
| 21 | + <section> |
| 22 | + <h2 className="text-3xl font-bold text-charcoal mb-6">The Challenge</h2> |
| 23 | + <p className="text-lg text-charcoal/80 leading-relaxed mb-4"> |
| 24 | + Finding web development clients the traditional way: spending <strong>10-15 hours per week</strong> manually |
| 25 | + scrolling through Google Maps, checking websites one by one, and keeping spreadsheets of |
| 26 | + broken sites. Pure grunt work that could be automated. |
| 27 | + </p> |
| 28 | + <p className="text-lg text-charcoal/80 leading-relaxed"> |
| 29 | + Worse, the manual process was inconsistent. Good leads were missed, bad ones |
| 30 | + were pursued, and there was no way to catch businesses whose websites went from working to |
| 31 | + broken overnight. |
| 32 | + </p> |
| 33 | + </section> |
| 34 | + |
| 35 | + {/* What We Built */} |
| 36 | + <section> |
| 37 | + <h2 className="text-3xl font-bold text-charcoal mb-6">What We Built</h2> |
| 38 | + <p className="text-lg text-charcoal/80 leading-relaxed mb-6"> |
| 39 | + <strong>Mayday</strong> is an automated lead generation system that runs in the background, |
| 40 | + continuously scanning local businesses and flagging opportunities the moment they appear. |
| 41 | + Instead of spending hours prospecting, the agency now gets a daily digest of qualified |
| 42 | + leads ready for outreach. |
| 43 | + </p> |
| 44 | + <div className="bg-gradient-to-br from-sage/20 to-sky/15 p-8 rounded-lg"> |
| 45 | + <h3 className="text-2xl font-bold text-charcoal mb-4">What It Does</h3> |
| 46 | + <div className="grid md:grid-cols-2 gap-6 text-charcoal/80"> |
| 47 | + <div> |
| 48 | + <div className="text-3xl font-bold text-coral mb-1">~15 hours</div> |
| 49 | + <p>Of manual work eliminated weekly</p> |
| 50 | + </div> |
| 51 | + <div> |
| 52 | + <div className="text-3xl font-bold text-coral mb-1">24/7</div> |
| 53 | + <p>Continuous monitoring and lead discovery</p> |
| 54 | + </div> |
| 55 | + <div> |
| 56 | + <div className="text-3xl font-bold text-coral mb-1">10-15k</div> |
| 57 | + <p>Businesses scanned monthly within budget</p> |
| 58 | + </div> |
| 59 | + <div> |
| 60 | + <div className="text-3xl font-bold text-coral mb-1">3 types</div> |
| 61 | + <p>Intelligent lead classification and prioritization</p> |
| 62 | + </div> |
| 63 | + </div> |
| 64 | + </div> |
| 65 | + </section> |
| 66 | + |
| 67 | + {/* Dashboard Preview */} |
| 68 | + <section> |
| 69 | + <div className="relative rounded-lg overflow-hidden border border-charcoal/10 shadow-xl"> |
| 70 | + <Image |
| 71 | + src="/case-studies/mayday/dashboard.png" |
| 72 | + alt="Mayday dashboard showing qualified leads organized by type" |
| 73 | + width={2910} |
| 74 | + height={3148} |
| 75 | + className="w-full h-auto" |
| 76 | + priority |
| 77 | + /> |
| 78 | + </div> |
| 79 | + <p className="text-sm text-charcoal/60 text-center mt-3"> |
| 80 | + The Mayday dashboard showing real-time lead discovery and classification |
| 81 | + </p> |
| 82 | + </section> |
| 83 | + |
| 84 | + {/* How It Works */} |
| 85 | + <section> |
| 86 | + <h2 className="text-3xl font-bold text-charcoal mb-6">How It Works</h2> |
| 87 | + <p className="text-lg text-charcoal/80 leading-relaxed mb-6"> |
| 88 | + The system automatically categorizes opportunities into three high-value lead types: |
| 89 | + </p> |
| 90 | + |
| 91 | + <div className="grid md:grid-cols-3 gap-6 mb-8"> |
| 92 | + <div className="bg-white p-6 rounded-lg border border-charcoal/10 hover:border-coral/30 transition-colors"> |
| 93 | + <h3 className="text-xl font-bold text-coral mb-2">Fix Leads</h3> |
| 94 | + <p className="text-charcoal/70 mb-3"> |
| 95 | + Businesses with broken websites—SSL errors, expired hosting, parked domains. |
| 96 | + <strong className="block mt-2 text-charcoal">The pitch: "Your site is down. I can fix it today."</strong> |
| 97 | + </p> |
| 98 | + <p className="text-sm text-charcoal/60 mt-3"> |
| 99 | + High urgency = high close rate. These businesses are losing revenue every hour their site is broken. |
| 100 | + </p> |
| 101 | + </div> |
| 102 | + |
| 103 | + <div className="bg-white p-6 rounded-lg border border-charcoal/10 hover:border-sage/30 transition-colors"> |
| 104 | + <h3 className="text-xl font-bold text-sage mb-2">Build Leads</h3> |
| 105 | + <p className="text-charcoal/70 mb-3"> |
| 106 | + Established businesses with no website at all. |
| 107 | + <strong className="block mt-2 text-charcoal">The pitch: "Your competitors are online. You should be too."</strong> |
| 108 | + </p> |
| 109 | + <p className="text-sm text-charcoal/60 mt-3"> |
| 110 | + Clear value proposition. These are leaving money on the table every day without a web presence. |
| 111 | + </p> |
| 112 | + </div> |
| 113 | + |
| 114 | + <div className="bg-white p-6 rounded-lg border border-charcoal/10 hover:border-sky/30 transition-colors"> |
| 115 | + <h3 className="text-xl font-bold text-sky mb-2">Social Only</h3> |
| 116 | + <p className="text-charcoal/70 mb-3"> |
| 117 | + Businesses using only Facebook/Instagram as their website. |
| 118 | + <strong className="block mt-2 text-charcoal">The pitch: "A real site builds trust and drives more business."</strong> |
| 119 | + </p> |
| 120 | + <p className="text-sm text-charcoal/60 mt-3"> |
| 121 | + Easier sell than cold outreach. They already understand digital presence matters. |
| 122 | + </p> |
| 123 | + </div> |
| 124 | + </div> |
| 125 | + |
| 126 | + <p className="text-lg text-charcoal/80 leading-relaxed"> |
| 127 | + Every morning, the system delivers a CSV export with business details, contact info, and |
| 128 | + exactly what's wrong with their current setup. No guesswork, just actionable leads. |
| 129 | + </p> |
| 130 | + </section> |
| 131 | + |
| 132 | + {/* The Engineering */} |
| 133 | + <section> |
| 134 | + <h2 className="text-3xl font-bold text-charcoal mb-6">The Engineering</h2> |
| 135 | + <p className="text-lg text-charcoal/80 leading-relaxed mb-6"> |
| 136 | + Three key design decisions make this system <strong>accurate, scalable, and cost-effective</strong>: |
| 137 | + </p> |
| 138 | + |
| 139 | + <div className="bg-cream/50 border-l-4 border-coral p-6 rounded-r-lg space-y-4"> |
| 140 | + <div> |
| 141 | + <h3 className="font-bold text-charcoal mb-2">Smart Retry Logic</h3> |
| 142 | + <p className="text-charcoal/80"> |
| 143 | + Progressive timeout strategy distinguishes between slow sites and broken sites. The system |
| 144 | + retries with increasing timeouts before marking anything as down—eliminates false positives |
| 145 | + without missing genuinely broken sites. |
| 146 | + </p> |
| 147 | + </div> |
| 148 | + <div> |
| 149 | + <h3 className="font-bold text-charcoal mb-2">Adaptive Scheduling</h3> |
| 150 | + <p className="text-charcoal/80"> |
| 151 | + Intelligent scan frequency based on site status. Working sites get checked weekly, broken sites |
| 152 | + get adaptive monitoring, and static situations get monthly scans. Scans 10-15k businesses monthly |
| 153 | + within the $200 API free tier. |
| 154 | + </p> |
| 155 | + </div> |
| 156 | + <div> |
| 157 | + <h3 className="font-bold text-charcoal mb-2">Platform-Specific Detection</h3> |
| 158 | + <p className="text-charcoal/80"> |
| 159 | + Pattern recognition for 15+ error types across Squarespace, GoDaddy, Wix, and other platforms. |
| 160 | + The system knows exactly what's broken and provides the specific context needed for outreach. |
| 161 | + </p> |
| 162 | + </div> |
| 163 | + </div> |
| 164 | + </section> |
| 165 | + |
| 166 | + {/* The Bottom Line */} |
| 167 | + <section> |
| 168 | + <h2 className="text-3xl font-bold text-charcoal mb-6">The Result</h2> |
| 169 | + <p className="text-lg text-charcoal/80 leading-relaxed mb-6"> |
| 170 | + Mayday eliminates <strong>10-15 hours per week</strong> of manual prospecting work. The system |
| 171 | + runs continuously in the background, scanning businesses and flagging opportunities the moment |
| 172 | + they appear. |
| 173 | + </p> |
| 174 | + <p className="text-lg text-charcoal/80 leading-relaxed mb-6"> |
| 175 | + Daily digest of pre-qualified leads with business details, contact info, and the exact issue |
| 176 | + to reference in your outreach. Broken sites, missing websites, businesses relying only on |
| 177 | + social media—all categorized and ready for immediate follow-up. |
| 178 | + </p> |
| 179 | + <div className="bg-gradient-to-br from-sage/20 to-sky/15 p-6 rounded-lg"> |
| 180 | + <p className="text-lg text-charcoal/90 font-semibold mb-2"> |
| 181 | + What This Demonstrates |
| 182 | + </p> |
| 183 | + <p className="text-charcoal/80"> |
| 184 | + Building production automation requires solving real problems: false positive prevention, |
| 185 | + cost-effective scaling, and accurate detection across multiple platforms. This project shows |
| 186 | + our capability to design systems that work reliably in the wild, not just in demos. |
| 187 | + </p> |
| 188 | + </div> |
| 189 | + </section> |
| 190 | + </main> |
| 191 | + |
| 192 | + {/* CTA - Full width section outside constrained container */} |
| 193 | + <CTA |
| 194 | + headline="Need a custom solution like this?" |
| 195 | + subheadline="We build intelligent automation systems that solve real business problems. Let's talk about your project." |
| 196 | + /> |
| 197 | + </> |
| 198 | + ); |
| 199 | +} |
0 commit comments