Hello! What's your background, and what are you working on?
I'm Chris Patton, the founder of Punchpass. I live near Burlington, VT, and have been here for the past 14 years.
I've had a somewhat varied background. I went to a liberal arts college and majored in art history. Then I ski bummed for a year, then got into tech as an installer/trainer for a company that makes software for ad placements in radio & TV stations. I then transitioned to tech support for a hardware company, and then IT for a smaller software company. From there I went back to school to get my MBA (gasp!) at Babson College. I spent some time, with some success but no real big wins, on a few other ventures before starting Punchpass.
Punchpass is web software used to track customer class attendance and the passes and punchcards that small businesses tend to sell. So our clients set up their classes, accept class reservations online, sell or assign passes to customers, and then take class attendance.
We are primarily used by the fitness industry — yoga studios, personal trainers, etc. But it's pretty flexible software, so we have a wide range of client businesses. The majority of them are very small local businesses, and they use Punchpass to run their core operations and enable online transactions like class reservations and pass purchases.
I started the company in 2013 and ran it solo for two years before bringing on a business partner. We now have clients in over 50 countries around the world, and just broke through $27k in MRR (monthly recurring revenue).
What motivated you to get started with Punchpass?
So, by 2012 I had started a few different web apps, one which had done okay, and a few that hadn't gotten far. I was currently working on launching a different app called Trillo, and was meeting with a local business to try and get them to try it.
In the course of the conversation they said they had another problem, which had to do with the Zumba fitness classes they offered. They had a big box of index cards they were using to track everyone's class attendance. So they took attendance on a paper list, and then had to copy each of those attendances to the customer's index card.
They were at least 30 days behind in entering their attendances. Not only were they dealing with a lot of manual work, but they basically had no visibility into how their business was doing.
My reaction at the time was basically, "That's interesting, but I'm working on a product that has to do with registering kids for classes."
But the problem stuck with me. A few months later I was at a crossroads — I couldn't afford to pay the developers who had built Trillo, which only had a couple of beta customers, so in order to support the product I needed to learn to program.
Trillo was a Ruby on Rails application. Over the years I'd done a lot of the front-end work for apps I'd built, and I had enough of a background that I felt I could pick up Ruby on Rails pretty quickly. Plus, if everything went downhill, at least I'd have a solid programming skill to get a job!
I did some of the standard online tutorials as well as a paid one through The Pragmatic Studio (highly recommended!). But the best way to learn how to code is to build something, and I immediately thought about the problem tracking attendance at the fitness studio. It didn't seem that complicated (famous last words), so I set out to build it.
What went into building the initial product?
I believe I started playing around with the idea in February 2013. By about April I got really serious about it, and I turned on billing in September. So development took about 6 months, but even then it was a very barebones project. (We've continued to add a lot of functionality to the product over the years.)
By September it was good enough to start charging for, and I'm a big believer in the idea that paying customers are the only true validation for the assumption that your idea solves problems.
Also, I think that charging early prevents you from getting into the "just one more feature" trap. While more features can certainly expand your market, you can usually find a smaller segment you can target earlier.
So in our case, Punchpass wasn't yet ready to be used by a full-blown yoga studio, but it was perfect for people who taught a few dance fitness classes a week and needed to keep track of the passes they sold.
When we launched we had no online class reservations, no customer logins, no memberships, no online pass sales. We only had our core functionality. So pare down your vision and realize that you can probably start charging earlier than you think.
We have never raised any funding, though we did receive a $15k prize in a local Burlington, VT, startup pitch competition called LaunchVT. That allowed me to bring on my current business partner a little earlier and start paying myself a regular salary, and it took the pressure off of paying the monthly credit card bill!
It also allowed me to buy the dot com version of our domain.
How have you attracted users and grown Punchpass?
Well to start, Punchpass was just something I built to learn how to code. But I felt there was something there.
So in order to decide if Punchpass had some real possibility, I cold emailed a bunch of Zumba instructors I'd found online. Just explained what I was building, along with my hunch about the problem they were facing.
I pretty quickly received strong validation that this was a big problem for them — there was no simple, affordable software they could use.
So I then continued cold emailing dance fitness instructors and studios, and eventually got 10 to agree to be beta clients — that meant they were willing to use the software for free, give me feedback (and put up with the occasional issue because I was a newbie programmer!), and then when I started charging I would give them 50% off.
I started that process in about April 2013 and turned on billing in September 2013. And a few of those original customers are still with me today! By the end of the year I had 12 customers, all through cold emailing. Not a lot, but a start. Growth through 2014 was primarily cold emailing and experimenting a bit with Google Adwords.
Our original focus was on dance fitness studios and Zumba teachers. I don't honestly remember why… it wasn't something I was into. But over time as we continued to add more features, we found that the majority of our inbound interest was coming from Yoga studios.
There is a dominant software provider in the industry called MindBody, but their software is a little dated, very confusing to use and set up, and very expensive. We've been helped by a number of MindBody customers coming to us because they don't need the features and just want something simpler and easier to use.
We've tried Google Adwords twice, and haven't been able to make it work. It's hard to target yoga studio owners exclusively. What tends to happen instead is that you also serve ads to yoga practitioners, and you burn through a lot of money fast.
Facebook has been a better channel for us, since you can target people based on their profession. That means yoga, in our case. Plus, the ads and clicks are cheaper.
We advertised for a while on Capterra, which is a business software directory — but the category we are in has continued to get more expensive.
I believe SEO has been the biggest win for us. We've really focused on that over the past year and a half, and we've seen plenty of growth in traffic. The majority of our trial signups today are still from organic traffic.
What's your business model, and how have you grown your revenue?
Punchpass is a typical Saas app — we charge a recurring monthly fee. Over the years we've had between 2-5 different plans at a time, and now we've settled on 3.
Our plans are based on "feature sets". We don't charge based on the number of users, the number of customers, or the number of instructors in the system. I've never liked that type of pricing — it doesn't cost us more if a client adds another record to the database. But feature complexity does cost us money in terms of support resources, code complexity etc. So our plans are based on the features clients want to pay for. Some want very simple software, and some want it more complicated.
Our revenue growth has been very steady and smooth, which has been great and frustrating at the same time. We made a very typical mistake and started with our pricing too low. We've raised it a couple of times, and at the beginning of this year we actually moved our older "grandfathered" clients up to a higher priced plan (but still with a discount).
That has helped significantly in terms of cash flow — we now have the resources to start growing the team and really improving the product. Our average monthly revenue per user today is $42, and our MRR is $27k.
I should also point out, however, that often the prevailing wisdom in SaaS seems to be "just double your prices", etc. We actually tried this at one point and it did not work. We clearly were outside the range that our customers expected to pay. So there is a balance between experimenting with your pricing and also making sure you are in a range that your customers can afford.
What are your goals for the future?
We were just 2 people back in May, and we'll be 5 by September. So we've got a much bigger and better team in place and it's time to finally focus more on growth. We've really done very little marketing beyond SEO.
There are also some ideas around ancillary products — Punchpass for different industries. For example, for personal trainers. But a ton of work remains if we want to make Punchpass the best product it can be.
One of our big beliefs is that the web is going to continue to foster entrepreneurship around the globe. We love that we are helping people start and run their own small businesses. Today, creating a website is easier, marketing is becoming easier, and accepting payments is much easier.
We think the continued growth of small businesses all over the world is going to drive more demand for products like Punchpass. So we are betting on a lot of small customers, instead of trying to go upmarket into gym chains, etc.
What are the biggest challenges you've faced and obstacles you've overcome?
I've always chosen to grow businesses over time through bootstrapping instead of raising capital, so it's taken a while to get to this point.
The biggest challenge for me was keeping the app running as it started to become the core software used 24/7 by clients around the world. (Let's just say there is a lot of refactoring going on right now!)
So if I could do things over again, I'd have brought someone in a lot earlier, even if just to mentor me.
What were your biggest advantages? Was anything particularly helpful?
One of our biggest advantages is linked to my limited programming knowledge — constraints. Punchpass started off as a dead simple app, because that's all I could build. But it turns out that's all customers wanted — something that was easy to use, easy to understand, and fast.
In comparison to other products I've built in the past, Punchpass solves a very clear, simple problem. So staying focused on the app has been the best decision we've made.
I've also been lucky to have a wife and kids who support me, both financially as Punchpass grew, and also as something outside of the tech bubble to keep me grounded.
What's your advice for indie hackers who are just starting out?
Build something and show it to customers. I see too many people focused on what version 3 of their product is going to look like when they should instead be worried about version 1.
There is so much you can do today between the different Google services, Zapier, Typeform, etc. Just hack a solution together — you'll be surprised both at how far you can take it and the feedback you'll get. This builds momentum, which I think is one of the most important things you can have for an early stage idea.
Finally, don't be afraid to start by yourself — contrary to popular wisdom you do not need a co-founder. I worked on Punchpass for two years before bringing on a business partner.
Where can we go to learn more?
Feel free to ask any questions you like in the comments section below — I'll be happy to answer! Thanks for reading.