A subtle approach to newsletter sponsorships
A little newsletter called Flow State asked us for help with their sponsorship business.
They wanted to make a website where people could book weekly sponsorships directly. They also wanted some help with outbound lead generation.
The result is sponsor.flowstate.fm which we built in just a few hours. Here's how we did it.
tl;dr: Cursor is amazing.
- We used Cursor's agent to build a nextjs app. We selected the new Claude 3.7 model, which is excellent at understanding an entire codebase – identifying existing patterns and applying them. It also seems to have better design sense than Claude 3.5.
- By default, you have to manually accept every change that Cursor's agent proposed, but they recently introduced "yolo" mode which auto-accepts code changes.
- The only time the agent got stuck was on weird errors. One happened when I was on Tailwind 4 and it couldn't understand that PostCSS was a different package. Another occurred when Vercel inexplicably failed to install its own analytics package during build.
- Eventually I reached the point where I wasn't using the code editor at all, just the agent and the terminal (mostly for git commands).
Other services we used:
- Stripe: No brainer.
- Supabase: Shout out to Rick for recommending this. It's very nice and easy to use. "What Firebase should have been," as they say.
-
Vercel: Cursor wanted to do
a NextJS app and then deploy it on
Vercel. I hadn't used
Vercel before, but it was super easy: login
with GitHub, pick the repo, hit deploy, fix a
few build errors that Cursor identified, and
then deploy. It auto-redeploys whenever
main
is updated.
With sponsor.flowstate.fm set up and taking bookings, we needed to generate leads. Here's how we did that:
- We asked ChatGPT where to find leads. It offered several suggestions, including using hunter.io for finding emails.
- We signed up for hunter.io, which let us (a) pick an industry, (b) pick companies, (c) pick departments (marketing), and (d) find emails. From about 50 companies, we gathered 500 email addresses.
- We downloaded the CSV of 500 contacts with metadata (company, name, location), added columns for subject line and email body, and wrote those for the first contact.
- We uploaded the CSV to ChatGPT and asked GPT-4.5 to fill in the remaining subject lines and email bodies based on the first one. It completed this in about 5 seconds.
- From the 500 contacts and emails, we selected 50 to start with – maximum one per company, prioritizing the most senior marketing person. We've sent those out and hopefully we get at least one booking!
Finally, we reckon other people might be interested in this kind of calendar booking site. We used getwaitlist.com to set up a simple waitlist for a product called Bookdate which is linked to at the bottom of the website.