Transcript
This transcript was autogenerated. To make changes, submit a PR.
Sauk,
I'm going to take you on the journey of how and why I
built a serverless SaaS startup in 30 days
and how you can do exactly the same.
I'm Sam and I've been working 100% serverlessly for
over five years now. I run complete coding, which is a
YouTube channel teaching people to become serverless
developers. And now we even have a full serverless
masterclass course which takes you from novice
to being able to apply for serverless jobs.
I've always had an entrepreneurial side,
and over time I've tried building startups
and have honestly generated quite a nice list
of failed startups. They tend to
always be the same. I start building something,
thinking this is an amazing product. I spend evenings
and weekends for months working away at it.
Eventually I get to the point where I'm ready to launch
and then nothing. Sometimes I
get a few free users, but I never manage to
build something that people are willing to pay for. Spending all
of that time and effort for no real reward is
incredibly frustrating and painful.
So I decided that next time would be different. I took
a leaf out of Peter Level's book. He gave himself
30 days to test a startup idea from
scratch and did one a month, resulting in twelve
startups in twelve months. I still have
consulting clients and a YouTube channel to run, so I
decided to modify this a little bit. I kept the
30 day limit built. I decided only to do it four months throughout
the year. If I can get a paying user in
30 days, then it's a good idea. But if I
can't get a paying user, the idea wasn't an idea that's ever
going to become a valuable company and I would
move on. Luckily for me,
the first 30 day challenge went basically as well as I could have
hoped, getting over 300 users in that month
and generating $140 of income.
And a month later it hasn't all crashed and burned and we're
still doing over $120 in monthly recurring
revenue. There were two things that I really
think helped make this a success, and I'll talk
about those a little bit more at the end.
So the key challenges for me and
for getting paying users in those 30 days come down
to basically three things.
So keeping it simple enough that I don't end
up with a massive architecture where
I'm going to spend all of the 30 days building it,
and then have no time to actually give users access
to it, get some real feedback, and actually spend time
marketing it. The second is finding a problem that
is actually painful enough that people want to
pay to solve that pain. This is something that I
haven't done a great job of in the past, so this is definitely
going to be a focus for this one. And thirdly,
I'm not a marketer, I am a developer through and through, so building
the tech is going to be the least of my problems.
It's going to be about learning how I can try to get
my ideas and my products in front of as many people
as possible. There are loads of ways to find a customer
pain point, but for this challenge, it kind of came
by accident. So I was scrolling through LinkedIn
one day and I saw one of my favorite creators, Luke Matthews,
and he was talking about how he would grow
on LinkedIn if he was starting again. So number
three was to engage on the posts from five or ten
creators from your niche. And I was like,
that kind of seems obvious when you comment on other people's posts.
Then that audience of 83,000 people
that you might be seeing from their following
will see you. They might either directly subscribe
or follow you, which is amazing. But they might also just like
your comment. And LinkedIn will actually then
show some of your posts to them, even though they're got
following you because they've liked one of your comments
recently. So this is a great way.
So why isn't everyone doing loads of comments?
And this second post came up from Merco
talking about his normal LinkedIn schedule,
and this is what he does on LinkedIn every day. If you can
see at the bottom, it says that he spends, on average, one and a
half to 2 hours per day commenting on
LinkedIn. That is an insane amount of time
if you're running a business, or even if you're just an employee,
you can't really justify spending 2 hours of your day,
especially if you look at the times in the middle of the day, in the
middle of the workday, focusing on commenting when you're
either growing your business or trying to just do your job.
Around the same time I had been messing around with chat
got, and I knew that it could be
insanely powerful if used properly.
Prompt engineering was also starting to become a bit of
a topic, so I knew whatever I could come up with,
I could always tweak and improve the outputs.
Wondering how engaging Chat GPT would be at making
a LinkedIn comment, I decided to test it out manually.
I found an interesting LinkedIn post that is
the kind of thing that I might normally reply to. I then
copied it and pasted it into Chat GPT with
a little bit of a prompt saying act as a software
engineer and write me an engaging LinkedIn comment.
What came back was a little bit long and a
little bit wordy, but compared with other automated
tools out there, that post oh, great post or
interesting. This comment is amazing.
It has depth, it has interesting discussion points,
and from this point on I knew I was onto something.
This is the point where I would normally go
into building the solution, spending weeks or months,
then launch it, and kind of hope that there was an audience and
there was a customer base. This time was going to be
different. I was going to validate the idea more and
make sure that it wasn't going to be a complete flop.
So to validate it, there were kind of two
topics that I wanted to validate. The first is the technical
validation can I actually build everything I need
to deploy this idea? So with
this I have a couple of advantages being a serverless
developer. On the second point, I wanted to
validate that there were actual customers out there
and there was enough of them and actually that
they would pay money to solve this problem.
So for technical validation, as I just said, being a serverless developer,
I knew I could build APIs and databases from
all of the proof of concept projects I've worked on over the last
five years. The test with Chat GPT
showed that I can generate good comments,
and I can probably improve those further with
better prompt engineering down the line. I also
knew from other projects that I knew how to create
a chrome extension where I could have user login.
I could then add buttons to existing websites,
send API requests, and all of the kind of things that I knew
I would need to do to get this working.
If you've never actually deployed a full stack app before,
then actually spend some time looking into the best ways to
deploy your ideas. It could be serverless code like
I did, but also no code or low code
tools can be a really good option.
Personally, I like serverless because you have the full control over the
custom code, but without the issues of managing
server redundancy scaling. Plus you
only pay for what you use. So if it does turn out,
unfortunately, there are no paying users. You've also had to
pay nothing for the servers that are sitting there idle.
Now onto customer validation and this is where I did
some things well and other things I should have done better
in terms of the positive validation I did.
LinkedIn is a growing tool, especially with Twitter recently
going through all of its shenanigans. There's a lot of people who are joining the
platform and wanting to grow their audience and
their following whilst boosting their authority.
Both of the posts I saw on LinkedIn
were from either LinkedIn ghostwriters or LinkedIn
basically services who are paid to grow your account.
So that is people already paying them to
grow on LinkedIn. And finally, under both of
these posts were loads of comments saying, this sounds great,
I want to comment more, but I don't have the time to write all
of those comments. This was proof that people both
had the pain of I want to grow on LinkedIn,
but they don't have the time.
Now where I should have done a lot better with the customer validation is
actually talking with those potential customers.
I could have messaged all of those people who commented
that they didn't have the time to write those comments and
I could have talked with them. I could have found out how much time
do you actually have and why is it that you're wanting to
grow on LinkedIn? And of course I could have found out if
you were going to pay for a service that could help you write LinkedIn comments,
how much might you actually pay if you could quarter
the time spent writing comments?
Another whole vertical I could have approached was I could
have talked with copywriters about whether
they would use this tool in their business, and that could have been
a whole different focused instead of going directly to
the customers, I could have done a more b to b approach,
talking with copywriters and ghost writers,
trying to get them to use it to speed up their work.
Now, other ways you can validate your
customers are with like a landing page where
you just send users and you have a description of what you're
wanting to build, and then a waitlist
where they can sign up if they're interested to find out more when it
launches. If you're really keen, you could even try preselling
your product. So saying buy it now
and when it's live, you will get full access, usually at
a discount. If people are willing to pay for the product before it even
exists, that is great validation.
You can also use surveys, whether it's free surveys to
your audience or paid ones out to anyone
who is willing to take them. There's loads of other ways you can
do market research, but most importantly is
probably just talking with your target customer. And that's
something I should have done a lot better. But I
thought my validation that I had done was enough. So I moved
on to the next step with more customer
validation than I normally do. It was time to start my
first coding montage. I spent a few days focusing on
the MVP, the minimum viable product. And I
prefer the name minimal viable product because you
still need to provide some value to your users.
Because if you're not valuable to their users, why would they use
it? Or why would they pay? So for me, that was
a chrome extension that adds a button just like this
to the LinkedIn payments section. Whenever you
click it, it reads the text from the post,
sends that to the API which generates the comment,
sends it back, and types it into the comment
section. One thing I didn't want to do is
be a completely automated solution.
I didn't want people clicking one button to comment on
the top ten posts because partly I
think that would get them blocked from LinkedIn because LinkedIn doesn't
like you even if you are manually doing it, going through and
sending loads and loads of comments in really, really quick succession.
But also I wanted the users to basically
add their personality to the payments.
If you're just sending a generic comment, it's probably
not going to grow as much as if you add your own
personality if you add your own perspective and experience to it.
So I did something a little bit cheeky. I added a fake typing
speed. So as the message is
being entered into the comment section, it types
it out one word at a time. This means that naturally
users will read the message as it's being typed,
and if you read through the whole message, you're more likely to go
ah, that doesn't quite sound right. I'll just tweak that a little bit.
So, with all in all, that took about three days to get the
chrome extension as well as all of the APIs working.
And before I went any further, I did something
that turned out to be super useful. Later on in the
month, I recorded a quick demo of the extension,
generating a comment, and posted the video on LinkedIn.
That post now has over
17,000 views and 52 comments,
which was great exposure. Those comments were a mix of
supporting the idea and asking can they get access to it?
But also some absolute hatred for the
idea. As you can see, I was told to burn it
with fire, and I honestly can't remember the last time I
was told I need to repent for something.
But to capitalize on this notoriety, I quickly
created a landing page using just a website builder that
had a waitlist sign up form on. I continued
to post updates on LinkedIn and then carried
on building out features like a user sign up and login
usage monitoring, as well as making some tweaks to the chrome extension.
By the time I was ready to do the beta launch,
I had 25 users on the waitlist who were wanting to
try out the product. So for the beta launch I
sent out the email to everyone on the waitlist telling them they could
install the chrome extension and try out the tool.
Straight away I started getting feedback and this is kind
of really why I wanted to get people using it as soon as possible.
Some of the feedback was really good and some of
it was bugs, and having that interaction
with the users, being able to ask them more questions was super
valuable. So at this point I had kind of two tasks.
So handling the feedback, whether it was bugs or
features that I thought yes, that's a great feature, I need that.
Before v one there were some other features which were like that's
a great feature, but I can't quite get it done before
the MVP is launched. And some
ideas I thought didn't really match what I wanted to make the
product. As quite a few people did say, oh, can you
not just completely automate everything? Which kind of goes against what
I was trying to achieve. I also wanted to get v
one ready and for that I needed two real
things, a proper website with a landing page,
sign up flow and account page. But also
I wanted to have subscriptions so that people could actually pay
for the product for the website. I did consider trying
to build it from scratch, but then I remembered I've only got
30 days for this whole challenge and my CSS isn't the
hottest. So I could have spent the whole 30 days just building
a fancy, attractive looking website.
Instead, I bought myself a react website template,
customized the CSS and added
a bit of my own copy and published it. And this
is the website I ended up with. It won't win any awards
for design, but it clearly demonstrates what my product can
do and I don't think it looks awful.
So when you've got 30 days,
getting 80% of the way there with 20% of
the time and effort is a trade off that I'm definitely willing
to make. And if in the future this ends up earning thousands
and thousands of dollars a month, I can then pay a
proper designer to come in and make a really, really well
styled website. But for now, this is more than good enough.
Now for payments on a project like this, I'd just always go to
stripe if you don't want to have the risk of handling your own
card details, and stripe is the quickest and easiest payment
provider to get set up with. I did have to build
a custom subscription integration using their webhooks
because of the way that my usage worked deploying
and securing the webhook APIs and the database that I needed
for this with a few minutes using serverless,
but then I had to just tweak all of the business logic around when
you get this event, make this change to the database
and that did take a couple of days. If you've
never done a stripe integration and you are wanting to do one,
I would start with a one off payment because they're much simpler to
do. You can also usually
find website builders that have either stripe or other
payment providers integrated into it so you never have to
think about it. You just copy across your stripe API key and
all of the payments are handled for you. Upgrades downgrades everything
which is also really nice.
So 17 days after I started,
I was ready to launch my full app.
Over the last two weeks I'd continued to post progress updates
on LinkedIn and had 69 people on the waitlist.
I sent out the launch email, posted about it on LinkedIn,
and kind of just waited. Over the next few
days I did continue to work on the app. I was fixing any
bugs that either beta testers or even some new free
users found, and also adding new
features like being able to change the tone of voice, which was
basically the first feature I wanted to add after v one
as it was direct feedback from the beta testers.
This allows you to basically change the tone
and the way that Chat GPT generates
the LinkedIn comment to give it a bit of variety.
I was also reaching out to LinkedIn creators who I
thought would be interested in the tool and might actually post about
it. Anything to get the tool in front of more users.
So after three days I had over 100 free
users, but still no one had upgraded to a paid membership.
I was beginning to think it was going to be another one of those ideas
that people say they love and will use for free all day,
but would never actually pay for. Then one night
I was lying in bed and I got a bit of a notification.
LinkedIn power tools, you've just received your first
payment. I was so excited. I was officially
a SaaS founder. With this new wave of excitement,
I spent the next two weeks writing LinkedIn posts, trying to
reach out to more influencers and adding more features.
For me, one of the biggest features was being able to customize
the tone of voice on each and every comment,
even adding a question or a quote.
This was massive as I was finding the normal comments were
good, like far better than any other tool out there,
but they didn't really continue the conversation very well
and sometimes they got a response, but often
they just didn't. And getting a response from the original
poster is a really good way of both building your
relationship with that content creator.
But also a conversation shows value, and therefore
more of their users and their followers are likely
to check you out. Now, just adding
a single quote or a question to
the comment seemed to massively increase the engagement that
those comments got, both in the number of likes, but also
in the amount of replies from both the original poster,
but also other people inside their network.
Having conversations with creators increases
the chances that their followers will check you out,
and as you can see here on the left,
I ended up chatting with people who are on the Forbes 30 under
30 list, which is really cool.
For the rest of the month, I focused on features and marketing,
but by the end of the 30 day challenge,
the tool had continued to gain both free and paying
users, hitting a total of 300 free users,
six paying users, and $140 in
revenue. When you think that the tool had only been live
for actually 13 days, that's pretty good,
and I'd consider this challenge a massive success.
At the start of the talk, I did say that there were two things
that I think made this 30 days challenge a success,
and those are my unfair advantages.
The first one is that I am a serverless developer and
I have built countless numbers of proof of concepts and
MVP apps, both for myself, for the
companies I've worked for, and also for clients.
This means that building things quickly, knowing how
to ruthlessly cut down to an MVP is
something I know how to do. The second is that
I started with 14,000 followers on LinkedIn from
just my general users of it over the last couple of years.
This means that every post I did actually got
a couple of thousand views at minimum, which is really,
really good exposure. I also meant that
because they're on LinkedIn, they're more likely to want to
actually grow on LinkedIn. So I was accidentally targeting
and talking to my target audience, which was
a happy coincidence. But yeah, something that
definitely helped out a got now let's talk
about the one issue I found with limiting yourself to
a 30 days challenge, and that is
marketing. I started with 14,000 LinkedIn
followers and that was great for initial tractant and getting
a handful of paying users, but the issue
is it's not going to scale. I think if I posted about this
tool every single day for six months, I'd continue
to get more users, but it would soon plateau
to really grow this product and
grow it into something where I could survive on the income,
I would need to find a more scalable marketing method,
whether that's SEO, ads, influencer marketing
affiliates or any other kind of marketing
method. But trying to build and launch
this tool in 30 days meant I didn't really have
any time to try any of these. I tried a little bit of influencer
marketing and a couple of people reposted it or
did a video, but I didn't actually get into
the point of paying for LinkedIn posts
or anything that would actually scale as the product
did. And also for some of these, such as SEO
or search engine optimization, it can often
take months and months of work before
it starts paying back and making a return
on that investment. But it can also skyrocket
the access and the marketing
potential when it starts to kick in.
So what would I do differently next time? At the
start I did say that I'm going to do this four
times throughout the year, so I'm going to shake things
up a little bit. I do want to start by saying that I
loved the restricted nature of the 30 day challenge. It meant I was like
hyper focused on just the things that
would provide immediate value.
So for the next couple of times throughout this
year, I'm thinking that I'm going to do one or two
brand new startup ideas. But then for
one of the months, do a marketing month challenge,
spend 30 days trying to find scalable marketing
strategies. The ideally
creating a process that I can use on
the other startups that I've done, but also in the future,
a pattern that I can follow that can help get
me past just my internal network
of marketing possibilities.
So yeah, also spending a whole month researching
how to market startups is going
to be a massive learning experience. So I'm actually really
looking forward to that. Beyond that,
I definitely would make sure to speak to more customers as part of
the validation process, even just to learn about
how do they describe the pain that I'm solving so
I can use that exact wording in the copy of my
emails or in my website. I'd also really
like to do a business to business kind of business
model because the business to customer, which is
kind of what this was, is good built.
Charging $30 a month means that you
require huge numbers of users to actually become a
valuable business and something that I could live off.
Now, what can you learn from this? If you want to try this yourself,
you basically need to find your unfair advantages
and make the most of them. So you might
say that, oh, I don't use LinkedIn so I
have no advantage. But are you prolific on Reddit or
on Twitter? If you are, then use those platforms
to share your tool, to get feedback from users,
and also just talk about your progress. Now,
have you also got experience in an industry? It could
be anything. It doesn't have to be a specific tech industry. It could
be nursing, it could be hospitality, it could be
painting. For all I know, you'll be able to have
an understanding of that sector, you'll know
where the ideas for solving really
painful problems are and
you'll know the language that you're going to use,
so you'll be able to communicate in a more cohesive
way with them. And also you'll
probably know quite a lot of people in the industry. If you've got a couple
of years of experience, this means you can got
to them as someone who already knows them and
this is a great way to get some validation. And you
never know, they could end up becoming your first couple of customers.
Now the second is that you really need
to focus on the minimum viable product and
I think you need to be really ruthless with this.
Cut away anything that isn't directly solving
the pain point of your customer. If things
go well and you end up getting a load of users,
then you can add cool features or extras later.
But if your problem doesn't actually solve the main
pain point really well, it's going to be hard to sell it.
Even if you're a developer. Maybe have a look
at using a low code tool because this can save you a
massive amount of time versus if you code everything
yourself. And this is something I might actually try in some of my future
30 day challenges because it's better to launch something
that is a little bit imperfect,
but to then start getting real user feedback as soon as
possible than spend the whole time making
sure it's absolutely perfect, launching the idea and
finding out that it's a bit of a dud. So that's my
talk and I really hope you've enjoyed it and seeing how
really focusing on solving just one pain point you can
achieve more than spending like six months on an idea
you think might work. And how I've managed to do
this just using the serverless framework and
serverless architecture on AWS.
If you want to learn more about serverless and how
it can help you build systems insanely fast,
then maybe subscribe to the complete coding YouTube
channel where we regularly put out videos on serverless,
as well as a load of serverless tutorials on how to
build specific features.
Now, if you're more interested in the exact architecture.
I used to build this whole app. Then I've actually put a
PDF together where you can download and see the full architecture
and actually see how simple it can be with serverless.
So that is serverlessmasterclass.com SAS
architecture. And finally, if you do
use LinkedIn and you're serious about growing an audience
there, then you can try out LinkedIn power tools and
see how much time you can save when you're commenting
and growing your connections with bigger influencers.