Building is the fun part, which is exactly why it's dangerous. You can spend six weekends on an app and then discover nobody wanted it badly enough to type in an email address.
Flip the order. Get attention first, then build. This guide sets up two signals in an afternoon: a waitlist (cheap to give) and a refundable $10 reservation (costs something). The gap between them tells you more than any number of "love this!" replies.
Write a one-page offer
Before any tools, write the page in a plain text file. If you can't fill it in, you're not ready to test. If you've kept a complaint log (see Find app ideas in Reddit complaints), steal the headline from it: the customer's own words beat yours.
# Headline
The problem, in the customer's words.
e.g. "Stop copying custom orders from email into your calendar."
# Who it's for
One sentence. Specific enough that the wrong people self-select out.
# What it will do
- Outcome one
- Outcome two
- Outcome three
# What it won't do (yet)
One honest line. It builds trust.
# When
A date range you believe, not a date you hope for.
# Two buttons
[Join the waitlist] free, one email when it's ready
[Reserve a founding spot, $10] fully refundable until launch
# Success number (decided before posting)
See below.
Put that on a simple landing page. Kit and beehiiv both host pages for you, so you may not need a website at all.
Pick a waitlist tool
All three of these can hold a list. They suit different people.
| Kit | beehiiv | Resend | |
|---|---|---|---|
| Best for | Creators who want forms, landing pages and email in one place | Newsletter-first projects | Developers who'll build their own form |
| Hosted signup form | Yes, unlimited forms and landing pages on Free | Yes, subscribe forms and a website builder on Free | Build your own form, then add contacts through the API |
| Free plan size | Up to 10,000 subscribers | Up to 2,500 subscribers | 1,000 marketing contacts |
| Official MCP server | Yes ("AI Connectors"), runs tools on paid plans only | Yes, read-only for now | Yes: emails, contacts, segments, broadcasts |
MCP (Model Context Protocol) is the standard way to give Claude tools that reach into another app. If that's new, read MCP in plain English first. A few specifics worth knowing:
- Kit's AI Connectors expose more than 65 tools, including creating landing pages and adding subscribers. Sensitive actions like sending a broadcast open a confirmation link in Kit, so nothing goes out without your click. On the Free plan you can connect and see the tools, but running one shows an upgrade prompt.
- beehiiv's server is read-only in its current version: Claude can analyze your account but can't publish or change settings.
- Resend's server can create and list contacts, manage segments, and draft and send broadcasts. Resend's docs give this command for Claude Code:
claude mcp add --transport http resend https://mcp.resend.com/mcp \
--header "Authorization: Bearer re_xxxxxxxxx"
For servers that log in through the browser, the general Claude Code pattern is claude mcp add --transport http <name> <url>, then run /mcp inside Claude Code to sign in. beehiiv's URL is https://mcp.beehiiv.com/mcp. Kit's help center gives https://app.kit.com/mcp.
You don't need MCP to validate anything. It's handy later, when you want to ask "how many signups came from the Reddit post versus the TikTok?" without opening three dashboards. Start with permissions narrow, and keep send actions behind your own click.
Add a $10 reservation with Stripe
A Payment Link is a Stripe-hosted checkout page you create in the Dashboard without code. You get a URL you can paste anywhere, a QR code, or a buy button for your site.
- In the Stripe Dashboard, open Payment Links and click +New.
- Click +Add a new product. Name it something like "Founding reservation" and set the price to $10, one time.
- In the product description, say what the $10 does and that it's refundable. For example: "Reserves a founding spot. Fully refundable until launch, just reply to your receipt."
- Under the options, consider Limit the number of payments. The link deactivates when it hits the cap, and you can write a custom message for people who arrive after.
- If you've set a terms of service URL in your account's Public details, you can require customers to tick a box accepting it.
- Under After the payment, replace the default thank-you message, or redirect to your own page. Point people at the waitlist so you can reach them.
- Click Create link.
Then add your refund policy and support contact in Stripe's Checkout and Payment Links settings, which can show them on the payment page.
Refunds
You'll probably refund some of these, maybe all of them. In the Dashboard, find the payment under Payments, click the overflow menu, and choose Refund payment. Full refund is the default; you can type a smaller amount for a partial one. You can also tick several payments and refund them in bulk (full refunds only). Stripe says refunds typically take 5 to 10 business days to reach the customer's statement, and its original processing fee isn't returned. On $10 that fee is a real slice, so treat it as the cost of the test.
Be careful taking money for something that doesn't exist yet. Make the reservation refundable with no questions, say so on the page, and check your local consumer rules. In the EU, for example, people generally have 14 days to cancel online purchases. In the US, the FTC's mail-order rule sets shipping and refund duties for physical goods. This isn't legal advice: if you're unsure, ask someone qualified where you live.
Pick your success number before you post
This is the step everyone skips. Decide what "yes" looks like before you share the link, and write it in offer.md. Otherwise you'll get 40 signups, feel great, and quietly decide 40 was the goal.
A success number has three parts: a time window, a traffic estimate, and two thresholds. Here's an example, not a benchmark:
In 14 days, from roughly 500 page visits: at least 60 waitlist signups and at least 8 reservations. Below 20 signups or 2 reservations: stop, or change something big.
Your numbers depend on your price, your niche and where the traffic comes from. What matters is that you set them in advance, include a "stop" line as well as a "go" line, and don't move them halfway through.
Get it in front of people
A page nobody visits proves nothing. Go back to where you found the complaints. Reply helpfully in threads where the problem comes up and mention the page only where the community's rules allow it. Post short clips about the problem (see Film the problem before the product). Tell people you know who have the problem. Add UTM parameters to your links so you can see which channel worked; Stripe passes them through to your redirect URL after payment.
What to do if you miss
Missing the number is information, not failure. Look at where the drop happened:
| What you see | Likely problem | Try |
|---|---|---|
| Few visits | Distribution | More places, more posts, better hooks |
| Visits, few signups | Headline or offer | Rewrite the headline from a different complaint |
| Signups, no reservations | Pain or trust | Talk to signups; the problem may be mild |
| Reservations, then refund requests | Promise or timing | Check what you said vs what they expected |
Change one thing, run it for another week, and compare. If you change the headline, the price and the audience at once, you won't know which one mattered.
Before you change anything, email five people from the waitlist and ask for 15 minutes. One question works well: "What made you sign up, and what would stop you paying for it?"
If you decide to stop, do it properly. Refund every reservation (bulk refunds make this quick), email the list to say what you learned, and thank them. Those people may follow your next idea.
Sources
- Payment Links overview (Stripe Docs)
- Create a payment link (Stripe Docs)
- Customize checkout for Payment Links (Stripe Docs)
- After a payment link payment (Stripe Docs)
- Refund and cancel payments (Stripe Docs)
- The Kit Free plan (Kit Help)
- How to connect the Kit MCP to your AI tools (Kit Help)
- Connect the MCP (beehiiv)
- beehiiv pricing
- MCP server (Resend docs)
- Resend pricing
- Connect Claude Code to tools via MCP (Claude Code docs)
- Cancelling a purchase: guarantees and returns (Your Europe)
- Business guide to the FTC's Mail, Internet, or Telephone Order Merchandise Rule (FTC)
