Seth Radman
October 5, 2022

How I got my first 1,000 paying customers without writing any code

When I was building my startup Crescendo, I started with an MVP before writing any code.

An MVP, or minimum viable product, is an experimental product with just enough features to be helpful to early customers who can provide feedback. Starting with an MVP can help you validate your value proposition quickly.

It helped me validate the problem and solution in a few weeks, and it generated early capital so I could stay bootstrapped more easily.

Here's how I got my first 1,000 paying customers without writing code or spending a dime:

1. Talked to customers

I met with 100 band directors to learn about problems they experience. They told me they spend an entire day every week listening to each individual student in the class for playing tests. This takes a substantial amount of their time, but it's necessary to collect assessment data in order to give students accurate grades in school. There was clearly an unresolved pain point that music teachers felt.

Doing customer discovery helped me understand my customers on a deeper level. It helped me to establish great relationships with music teachers. Now I had an idea for helping them manage their most precious asset: time.

2. Released no-code MVP

I made a landing page for a product that saves band directors time. It’s an AI algorithm that listens to your students play their instrument and analyzes their performance to automate playing tests. I shared it with the 100 band directors we had initially interviewed, and they thought it looked cool. Keep in mind, this was just a landing page with mockups and an early access form to collect emails.

Getting early access submissions made me feel confident. Sharing your email address represents a transfer of value, so I was heading in the right direction. Next, I had to deliver on the value my landing page promised.

3. Did things manually

Once band directors submitted their emails on the landing page, I sent them a form link. They could upload recordings of their students, and our “AI algorithm” would analyze them within 24 hours. But here's the twist: the “AI algorithm” was really me because I hadn’t built the real AI yet. I manually listened to all the recordings and sent back performance results to the band directors from an email named "Crescendo AI Bot".

Manually reviewing recordings proved helpful in unexpected ways, too. I learned what types of music the teachers used, the most common instruments, and the rhythms students struggled with. These insights helped me make the future product better.

4. Got feedback to improve

Band directors loved it! Our “product” was saving them several hours per week. They shared it with their colleagues, and the user base began to grow organically. I established great relationships with early adopters, texting them throughout the week to get feedback. Customers shared how exactly they were using the product and how it could be even better for them.

My customer base grew more loyal and delighted as I quickly implemented their suggestions. Teachers were shocked I built things they requested. This made the product better for everyone and added more value. But was it enough for people to pay?

5. Started charging customers

I started charging a monthly fee for the “product” to see if people would pay. While some users dropped off once we added the paywall, a large portion stayed on and started paying. It was worth it for them because of the time savings. I tested a variety of different pricing strategies and found that an annual subscription model performed well in alignment with the school year. Things were working!

Figuring out how much to charge was challenging. I ran countless experiments with different prices to see how customers reacted. Eventually, I hit the sweet spot. I was ready to upgrade my experiment to a real product.

6. Built product v1

Soon enough, there were over 1,000 people using the “product”, including band directors and students. There was real revenue coming in now, but I spent all day every day manually analyzing recordings. I used the revenue from sales to hire PhDs from Georgia Tech to help me build the actual AI algorithm. This ended up taking much longer than expected (6 months), but we did it.

Building Crescendo taught me how to be a good product manager as CEO. I wasn't an expert in AI or machine learning. But I picked things up quickly, and soon our product was working like magic. My long days manually analyzing recordings were finally over.

7. Launched product v1

I launched an iOS app with the AI algorithm inside and gave band directors a new web portal to upload music assignments. Students could play into their iPhone mic, and the app would analyze them in real time. Now, there was a scalable product people loved.

After the business grew to reach over 1 million musicians, Crescendo was acquired by Ultimate Guitar in 2019.

My journey was not nearly as linear as the 7 steps above make it seem. There were numerous obstacles and pivots along the way.

But starting with a simple, no-code MVP helped me find product-market fit and generate sales much faster.

Once you know you're building the right product and are ready to scale, read how I grew my startup Upbeat to 200,000 users.

Subscribe for more.

Startup and product lessons delivered right to your inbox.

Seth Radman
Founder & Tech Entrepreneur
I'm a Georgia Tech grad and co-founder of multiple tech startups in Atlanta. I've built over 40 web and mobile apps and been featured on the App Store 100+ times across the world, including Apple's App of the Day.
Seth Radman
October 5, 2022

How I got my first 1,000 paying customers without writing any code

The rich text element allows you to create and format headings, paragraphs, blockquotes, images, and video all in one place instead of having to add and format them individually. Just double-click and easily create content.

  1. Item 1
  2. Item 2
  3. Item 3

  • Bullet 1
  • Bullet 2
  • Bullet 3
Static and dynamic content editing

A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila!

How to customize formatting for each rich text

Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.