SurgeIQ
Storm-triggered lead intelligence for teams that sell to home-service businesses.
I founded ProfitLine AI and built SurgeIQ, a tool that turned government storm reports into a ranked call list for sales reps. Each lead told a rep which business to call and why it needed help now. I set the prices, wrote the offers and ran go-to-market myself. Seven sales reps paid for it. It never found product-market fit, so I closed it in September 2026. This page is the full account.
Job ticket · the 60-second version
No. 0620–0921- Product
- SurgeIQ, a lead-intelligence app that turned storms into a ranked call list
- Company
- ProfitLine AI LLC. I was the founder.
- Run
- Jun 20 – Sep 21, 2026 · 93 days
- Crew
- Me, part-time, directing AI coding agents (Claude Code, Codex)
- My job
- Product, pricing, go-to-market and sales operations
- Buyers
- Contract sales reps who sold to roofing, tree and restoration businesses
- Paid
- 7 reps at $24.99 a month
- Before this
- 8 clients closed from about 1,000 cold calls, emails and DMs at my first agency
- Outcome
- Closed. No product-market fit.
Proof checks
- Trigger-based prospecting, built from scratch
- ICP, positioning and four price points
- Three signup flows in seven days
- Lead routing, territories and call-to-claim rules
- Rep onboarding and an in-product upsell
- Shut it down when the evidence said stop
Joseph Forsythe
Sales and GTM · San FranciscoStorms create demand. The first credible caller wins it.
businesses indexed from open data
spent on lead data
parts to every score, each with a written reason
A hailstorm puts every roofer, gutter crew, fence builder and tree service in its path on the phone for weeks. The people who sell to those businesses, from marketing agencies to software reps, usually hear about it after the window has closed.
SurgeIQ watched for the storm instead. Every day at noon it pulled the government's severe-weather reports, drew the damage zone, found every home-service business inside it, read each one's website, scored the fit and routed the best ones to a rep with the reason and the pitch attached.
Every point had a reason.
Reps don't trust a black box, so the score showed its work. Five parts added up to 100: how severe the storm was, whether the business sat inside the zone, whether its trade fit the damage, what its website and listings revealed, and timing.
Timing mattered most. SurgeIQ held the first touch until the storm backlog cleared: one, three or five days depending on severity, then flagged the lead as ready.
- Crisis fit
- Zone fit
- Trade fit
- Signals
- Timing
Eight kinds of trouble, mapped to the trades they send work to.
Hail and wind ran live on NOAA data. The other six were wired to the trades they create work for, ready for new data sources.
Hail & wind
Roofing, fences, tree service, siding, gutters
Hurricane
Roofing, tree service, fences, water-damage restoration
Flood
Water-damage restoration, plumbing, mold remediation, electrical
Freeze & ice
Plumbing, tree service, roofing
Wildfire
Roofing, landscaping, tree service
Heat wave
HVAC
Power outage
Electricians, generator installers
Water main break
Plumbing
Fig. 4Crisis types and the trades they send work to, from SurgeIQ's configuration.
Four questions answered before the rep dials.
Every lead opened on the same page: why this business, why now, what to pitch and what proves it. The pitch came with a talk track written in plain words. SurgeIQ was not a CRM, and I never wanted it to be one. Its job was to find the moment and the reason to call. After that, the deal went to the team's own CRM.
123456- 1Why this lead. The trade, matched to the type of storm.
- 2Why now. The storm date and the demand window it opens.
- 3Recommended pitch. The offer that fits, with the signals behind it.
- 4Suggested timing. When the first touch should happen.
- 5Talk track. The opening line, written for a busy owner.
- 6Evidence. Every point of the score, itemized.

The users were salespeople. Every screen had to earn a call.
signup flows in 7 days
price points on the rate card
steps in the rep workflow
SurgeIQ's paying users were contract sales reps who worked with ProfitLine AI and sold to home-service businesses. It also had plans for solo operators and for companies with their own sales teams.
I designed the workflow around a rep's day: open the list, make the call, log what happened, move on. Owners got the controls a sales manager needs: territories, routing, claim rules and pipeline stages.
- 01
Pool
Ranked leads in the rep's territory, best first.
- 02
Call
One-click calling from the browser, from a dedicated business number.
- 03
Claim
A lead becomes yours after a real conversation that meets the company's minimum length. No hoarding.
- 04
Pipeline
Stages the owner defines, with setter-to-closer handoffs built in.
- 05
Hand off
Notes and outcomes travel with the deal to the team's CRM.
Fig. 7The rep workflow, in order.





Fig. 11Built for reps in the truck.
A rate card a rep could say yes to.
Calling was billed at the carrier's cost so the subscription price stayed simple. I skipped free trials and lead caps, and I didn't promise territory exclusivity I couldn't enforce.
| RepContract reps working with ProfitLine | $24.99 |
|---|---|
| Solo operator | $59.99 |
| Companyincludes 1 seat | $149.99 |
| Extra seat | $49.99 |
| Calling | at cost |
Three signup flows in seven days.
Reps came to SurgeIQ through ProfitLine's onboarding. I rebuilt that path three times between July 27 and August 2, each time cutting steps between a rep and the first real lead. The last version was product-led: see a live lead first, then decide whether to pay.
Sign up, then pay
- Finish onboarding with ProfitLine
- Get a one-time SurgeIQ invite
- Create a separate SurgeIQ account
- Subscribe at $24.99 a month
Marked for flow 2: drop the separate account and offer SurgeIQ earlier.
One sign-in, offered sooner
- SurgeIQ offered before the paperwork
- One click from ProfitLine into SurgeIQ, signed in
- Subscribe at $24.99 a month
Marked for flow 3: show a real lead before asking for money, and add a free path.
See a real lead, then pay
- SurgeIQ reserves one live lead and shows a preview, name hidden
- Pay $24.99 inside the page with embedded checkout
- The exact lead is revealed. If it can't be delivered, the charge is reversed automatically
- Or skip it and prospect on your own, free
Fig. 12The three signup flows, dated from the commit history.
- The exact business and contact details
- The demand evidence and matched offer
- A ranked queue of more matched leads
The rep's whole first week, built in-house.
To get reps from application to first call, I also built ProfitLine's contractor platform in TypeScript: video auditions, e-signed contracts, tax forms, payouts, training and a simple rep CRM. SurgeIQ was offered right inside it, above the rep's own prospect list.

The next buyer: agencies.
In late August I narrowed the target buyer. Reps liked the leads, but agencies that sell to contractors have the budget and feel the timing problem every storm season. I closed the company before I ran the test.
- Ideal customer
- U.S. growth agencies, 10–49 people, at least two people on new business
- Wedge
- Roofing and exterior contractors in hail country
- Price
- $2,500
a month for three users
A storm window lasts weeks. I built like the window was closing.
days from first commit to a live product
commits across 2 products in 75 days
days from first commit to close
I didn't write the code by hand. I wrote the specs, set the rules the agents had to follow, reviewed what they produced and decided what shipped. The MVP was live six days after the first commit.
Moving fast did not mean skipping checks. Every change ran its tests on an isolated server, shipped to 10% of traffic first and rolled back on its own if anything failed.
SurgeIQ
- Python, Django, PostGISapp
- Commits600
- Data models74
- Scheduled jobs14
- Twilio calling, Stripe billinglive
Rep platform
- TypeScript, Cloudflare Workersapp
- Commits172
- E-signature, tax forms, payoutsbuilt
- Training and rep CRMbuilt
How it shipped
- AI coding agentsClaude Code, Codex
- Tests per changeisolated
- Canary release10%
- Rollbackautomatic
Fig. 16The build, by the numbers.
Everything lined up except fit.
I never found product-market fit. My funnels and growth hacks, run on a near-zero budget, couldn't outrun the lack of fit. I wanted to spend my time on growth and sales, but engineering kept eating it. Wearing every hat split my focus right when finding fit needed all of it.
- Jun 20First commit. Built solo, directing AI coding agents.
- Day 6Live product. Six days after the first commit.
- Jul 27 – Aug 2Three signup flows. Each one cut steps between a rep and a first lead.
- Aug 23Buyer redefined. B2B teams that sell to home-service businesses.
- Sep 2Last commit. 600 commits in 75 days.
- Sep 16 – 18Closed cleanly. Every customer and rep got notice, contracts were archived, then everything went offline.
What held
- I had a working product in six days and three signup funnels in one week.
- Seven reps paid $24.99 a month.
- Reps liked the leads.
- Everyone involved got notice before I shut it down.
What didn't
- The people paying weren't the buyer with the biggest problem.
- I built first and looked for the buyer later.
- Engineering took the hours I meant for selling.
- Growth ran on almost no budget.
Sell before you build.
Swap the order. Run the outbound test with the target buyer first, then write the code it calls for.
Pick the buyer with a budget.
Reps liked the leads. Agencies that sell to contractors have the budget and the problem. I'd start there.
Rank the next step.
Reps don't need 87.00. ^They need a next step: call now, call this week or wait. Next time the queue says which.
Protect selling time.
Wearing every hat split my focus. I'd hand off more of the building and spend those hours in conversations with buyers.
Next, I want to spend every hour on the part I loved: selling, at a company whose product already works.
What I'd bring to your team
- I built a prospecting system that finds the right moment to call a business and the reason to call.
- Before ProfitLine, I closed 8 clients for my first agency from about 1,000 cold calls, emails and DMs.
- I set four price points, wrote a value-first offer and narrowed the target buyer.
- I rebuilt the signup funnel three times in seven days. The last version let prospects see a real lead before paying.
- I wrote the territory, claim and setter-to-closer routing rules myself.
- When the numbers said stop, I stopped.
- I ship working tools by directing AI coding agents.
Based in San Francisco. Open to sales and GTM roles.