Day 27: Second customer - the agency call

Day 27 of 30. Today we closed our second paying customer.

#customer #growth

Day 27 of 30. Today we closed our second paying customer.

As mentioned yesterday, the agency from yesterday’s follow-up wanted a call. We had a quick 30-minute call since we value our customer’s time, but those 30 minutes changed our trajectory significantly.

Interactive revenue growth

See our customer and revenue growth over the 30 days:

growth - Revenue growth timeline
[$]
$90
MRR
+100%
[U]
2
Customers
+1 today
[^]
100%
Close rate
(small sample!)
Revenue timeline
$0
Day 1-23
$45
Day 24 1st customer! [*]
$90
Day 27 2nd customer! [>]
$135?
Day 30 Goal: 3 customers
[C] Customer profiles
#1 SaaS Startup
Plan: Pro ($45/mo)
Use case: Preview images
Volume: ~5K/month
Acquisition: Cold email -> Pilot
#2 Web Agency New!
Plan: Pro ($45/mo)
Use case: OG images for clients
Volume: 500-1K/month
Acquisition: Follow-up -> Call
[i] Potential: Agency mentioned: "We know other agencies with similar problems. If this works well, I'll recommend it."

The call

Company: A web development agency with about 12 people, which builds sites for small businesses.

Their need: They create social preview images for every client’s site. Currently, they are doing it manually in Figma or with a self-hosted Puppeteer setup which could benefit from some updates.

Volume: The estimated volume is about 50-100 screenshots per client, 8-10 new clients per month, so in total maybe 500-1,000 screenshots/month. While this is not a huge amount, this fits really well within the current limits of our system.

Key quotes:

“Every time we launch a client site, someone spends 2-3 hours making Open Graph images. It’s tedious work that nobody wants to do.”

“We tried automating it with Puppeteer, but it was more trouble than it was worth. We had several random failures, engineers debugging instead of building, and this project is just not part of our core focus”

“We’d happily pay for something that just works.”

The pitch

After understanding their pain, we showed them our API and a demo:

  1. Live demo: We captured their website in real-time
  2. OG image workflow: 1200x630, custom viewport (we probably should make this a preset), done
  3. Pricing: Pro at $45/month easily covers their volume
  4. Reliability: We showed them our status page, mentioned that our other client creates 1,200+ screenshots with zero failures so far

Our pitch, with some data to back it up, lead to a message from their CTO: “Can we do a quick test with a few of our client sites?”

We set them up with a team account on the spot, and 5 minutes later they were good to go.

The test

They tested 15 different client sites not long after. Their results:

  • 14 successful captures
  • 1 failed (client site had aggressive bot protection)
  • Average time: 2.8 seconds

The failed one we explained: “Some sites block headless browsers. We return a clear error so you know immediately.”

They appreciated the honesty.

While we can probably find a way to work around this, we’re not sure if we should. When someone is doing this amount of work to block bots, we don’t want to attempt to bypass it and get an IP ban or something like this. But let’s see how we go in this.

The close

At the end of the call (our conversation was a little bit less structured than this in reality, but it came down to this, approximately):

Us: “Based on what you’ve seen, does this solve your problem?”

Them: “Yeah, this looks like exactly what we need. The Pro plan works for our volume?”

Us: “Definitely. 10,000 screenshots/month gives you plenty of room.”

Them: “Cool. Can you send the signup link? We’ll get it set up this week.”

Us: “Actually, you can sign up right now - takes 30 seconds. Want me to walk you through it?”

They signed up during the call! The Stripe notification hit before we hung up. We love it when customers are this flexible. We’ve dealt with larger organisations in the past, and there is 0 chance their onboarding will go this quick. But we’re lucky this one did, and we managed to double (ha!) our customers! Can’t say that every day!

Customer #2: $45/month

Why they bought

We noticed the same pattern as our first customer:

  1. Real pain point. Manual OG image creation is tedious busywork. We’ve been running without one for a long time, not because it was hard for us to make on, but we wanted to make it easy for everyone.
  2. Failed alternative. They tried self-hosting and it sucked.
  3. Trust. We were responsive, honest, and showed real results.
  4. Price. $45/month to eliminate hours of work per project? This was a very easy ROI.

Revenue update

  • Customer 1: $45/month
  • Customer 2 (Agency): $45/month
  • Total MRR: $90/month

The referral opportunity

Before hanging up, the agency CTO mentioned:

“We know other agencies with similar problems. If this works well, I’ll recommend it.”

We asked them: “Would a referral program help? 20% off for anyone you refer?”

They said they’d think about it. Most likely the money issue here isn’t an issue, but the organic word-of-mouth potential is exciting, and we appreciate that they brought it up!

Other updates

Lead 1 (link shortener dev) finally replied:

“Sorry for the delay. I actually built my own solution last week. But I’ll keep you in mind if it breaks!”

This is a lost opportunity at the moment, but not unexpected. We might reach out to them in the future to see if they run into any challenges with their custom solution, which we know they might.

Outreach responses: One more “we use Urlbox” response. Competitor intel is still useful.

New signups: 6 more from Indie Hackers traffic. It seems our funnel is working, at least for the signups!

Three days left

Current status:

  • Paying customers: 2
  • MRR: $90
  • Goal: 3 customers by day 30

We need one more customer to reach our (ambitious?) goal. We have plenty of registered users, so let’s see who converts, if any.

Tomorrow: week 4 retrospective

On day 28 we will take a step back and assess. What worked? What didn’t? What’s next?

Book of the day

Gap Selling by Keenan

Keenan’s core framework: sales is about identifying the gap between where the customer is (current state) and where they want to be (future state). Your job is to make that gap visceral.

On the call today:

  • Current state: 2-3 hours per project on manual OG images
  • Future state: Automated, instant, reliable
  • Gap: Time wasted, tedious work, broken Puppeteer

This agency felt the gap, and they bought our solution to close it.

The book is punchy and practical. Great for B2B sales, especially technical products.


Day 27 stats

Hours
████████████░░░
78h
</> Code
███████████████
5,100
$ Revenue
█░░░░░░░░░░░░░░
$90
Customers
███░░░░░░░░░░░░
2
Hosting
████░░░░░░░░░░░
$5.5/mo
Achievements:
[✓] Second customer closed! [✓] $90 MRR achieved [✓] Referral opportunity identified
╔════════════════════════════════════════════════════════════╗
E

Erik

Building Allscreenshots. Writes code, takes screenshots, goes diving.

Try allscreenshots

Screenshot API for the modern web. Capture any URL with a simple API call.

Get started