DEV Community

Cover image for How a solo dev quickly built and sold his SaaS app for $20k 🏃‍♂️💰
vincanger for Wasp

Posted on with Milica Maksimovic • Originally published at wasp-lang.dev

How a solo dev quickly built and sold his SaaS app for $20k 🏃‍♂️💰

TL;DR Build Fast, Sell Faster

You've probably seen tons of stories online of successful devs who build a SaaS app and starting brining in the money.

Well, we've got another one for you.

And we're not sharing this story with you to make you feel bad, but rather to inspire you and tell you about the dev tools that made it all possible.

First of all, depending on who you are $20,000 may seem like a small amount of money, considering apps are often valued for millions of dollars in the tech world. But for others, $20k can be life changing.

Image description

Regardless, each story has some value in it, and this story in particular highlights a few great strategies in selling a small SaaS app:

  • Build fast with the right tools.
  • Be bold and make your product public ASAP.

This is the simple story of Kaloyan and how he built and sold NuloApp in a matter of weeks.

The Dev Behind the App

Meet Kaloyan Stoyanov, a tech lead by day, and a tinkerer and indiehacker by night who built and sold NuloApp a few days after making it public.

A year before officially launching NuloApp, Kaloyan was diving into the world of "faceless YouTube channels", those social media accounts that post short, simple, sometimes AI-narrated videos. Kaloyan wanted to start his own channel, but noticed that the common tools to generate short-form content from long-form videos, such as Opus.pro, were very expensive.

Seeing how expensive these tools were, Kaloyan decided to take matters into his own hands, building his own tool in just a month.

Initially, his tool automatically created and uploaded shorts, but after some time, when his channel didn’t pick up, he stopped the project. Fast forward to a year later, and YouTube's algorithm brought similar content back into his feed, reigniting his drive.

This time, Kaloyan took it further by transforming his tool into a SaaS product: NuloApp.

Image description


Before We Begin

We’re working hard at Wasp to help you build web apps as easily as possible, including creating inspiring content like this!

The easiest way to support our entirely free, open-source efforts is by starring our repo on GitHub: https://www.github.com/wasp-lang/wasp 🙏

Image description

⭐️ Star Wasp on GitHub 🙏


All about NuloApp

NuloApp is an AI-assisted tool designed to make video content creation simpler by converting long-form videos into short clips that have the highest chance to capture audience’s attention.

It automatically resizes and captions content from horizontal (landscape) to vertical (portrait) for platforms like YouTube Shorts, Instagram Reels, and TikTok, helping creators push content faster. Here's an example video

Tech Stack Overview

  • Full-stack framework: Wasp
  • Payment integration: Stripe
  • Other tools: OpenCV, FastAPI, Meta's llama, OpenAI's Whisper, LangChain
  • Database: PostgreSQL

Programatically Editing Videos

The real genius behind NuloApp is the way that Kaloyan combined a number of tools to programatically edit the longer form videos and podcasts, into short, engaging clips for social media.

First of all, OpenCV, an open-source computer vision library, was used as the main editing tool. This is how NuloApp is able to get the correct aspect ratio for smartphone content, and do other cool things like centering the video on the speaker so that they aren't out of frame when the aspect ratio is changed.

Image description

In order to programtically get the correct clips to be extracted, AI tools like Meta's llama-3-70b LLM and OpenAI's Whisper were also used. Whisper allowed for fast speech-to-text transcription, which could then be passed on the llama in order to find the segments worth extracting.

Putting these tools together and accessible via a standalone API was the final step in this process. But this really clever combination of tools was just one part of puzzle. The next problem to solve was how to deliver it all as a SaaS app that users could pay for?

Why Wasp?

When Kaloyan decided to relaunch his tool as a SaaS product, he didn’t have time to spare. He needed a framework that would allow him to build and deploy quickly. That’s where Wasp came in.

“I was looking for a quick and easy-to-use boilerplate with most SaaS app features already pre-built so I could deploy faster,” says Kaloyan. Wasp’s open-source SaaS boilerplate starter, with well-structured documentation, alongside its responsive Discord support, made it the ideal choice.

The Impact of Wasp on Development

Kaloyan was particularly impressed with how Wasp simplified complex tasks that would normally take much longer to implement. From setting up Google logins and dark mode switches to creating hourly jobs, the development process was smoother than expected. “Everything from enabling Google logins to creating hourly jobs I badly needed was way too easy to set up”.

If you're considering Wasp, Kaloyan’s advice is clear: Wasp is easy to get started with and flexible enough to build what you need without adding unnecessary complexity. For Kaloyan, Wasp was ideal because it handled the boilerplate while still giving him the freedom to customize as required. "The documentation is also solid, which definitely helps when you're moving quickly.”

Auth and Stripe Integration Made Easy

One of Kaloyan’s least favorite tasks as a developer is building out authentication systems, and he found that even implementing third-party libraries could be frustrating. Fortunately, Wasp’s boilerplate made the process of setting up authentication and pre-configuring Stripe for payments seamless.

Here's what wasp.config file looks like, through which you can define full-stack auth in a Wasp app.

app myApp {
  wasp: {
    version: "^0.14.0"
  },
  title: "My App",
  auth: {
    // 1. Specify the User entity
    userEntity: User,
    methods: {
      // 2. Enable Github Auth
      gitHub: {},
      email: {
        // 3. Specify the email from field
        fromField: {
          name: "My App Postman",
          email: "hello@itsme.com"
        },
        // 4. Specify the email verification and password reset options
        emailVerification: {
          clientRoute: EmailVerificationRoute, //this route/page should be created
        },
        passwordReset: {
          clientRoute: PasswordResetRoute, //this route/page should be created
        },
        // Add an emailSender -- Dummy just logs to console for dev purposes
        // but there are a ton of supported providers :D
        emailSender: {
          provider: Dummy,
        },
      },
    },
    onAuthFailedRedirectTo: "/login"
  },
}
Enter fullscreen mode Exit fullscreen mode

And here's a 1 minute demo:

Additionally, the framework's job scheduling features helped Kaloyan avoid the headache of configuring cron jobs on Docker containers.

Fast Acquisition: From Launch to Sale in 24 Hours

Upon launching NuloApp, Kaloyan listed the product on Acquire with the primary goal of gathering feedback from potential buyers about what features or metrics they value most in a SaaS product.

To his surprise, within the first day of listing, he received multiple offers. After a brief meeting with one interested buyer, they quickly agreed on a $20k deal, validating the product's value and market potential.

NuloApp Homepage

Next Steps

If you’d like to follow in Kaloyan’s footsteps, this is how to get started with the boilerplate he used.

Open your terminal and install Wasp:

curl -sSL https://get.wasp-lang.dev/installer.sh | sh
Enter fullscreen mode Exit fullscreen mode

From there you only need to run:

wasp new -t saas
Enter fullscreen mode Exit fullscreen mode

That’s it, you’re one step closer to building your first SaaS!

Join us, friend!

So there you have it. Another success story. And it won't be the last!

That's because we've got a strong Discord community of indiehackers and solo devs building successful SaaS apps in their free time.

Image description

Join us if you've got questions, are looking for inspiration, or want to share what you're building. Who knows, maybe you and your app will be featured in a future blog post just like this one?

Thanks, and see you next week.

https://media1.giphy.com/media/ZfK4cXKJTTay1Ava29/giphy.gif?cid=7941fdc6pmqo30ll0e4rzdiisbtagx97sx5t0znx4lk0auju&ep=v1_gifs_search&rid=giphy.gif&ct=g

Top comments (6)

Collapse
 
martinsos profile image
Martin Šošić

The idea that startups/products can be sold via Aquire is still fascinating to me, it is hard to imagine that working out, I would love to read more about how that process happens, and what it looks like.

Collapse
 
vincanger profile image
vincanger

Sounds like a good topic for a new blog post!

Collapse
 
sodic profile image
Filip Sodić

Well, here comes my builder FOMO again...

Collapse
 
vincanger profile image
vincanger

FOMO IN!

Collapse
 
m_maksimovic_ profile image
Milica Maksimovic

That's a cool project!

Collapse
 
matijasos profile image
Matija Sosic

Love this story. It is amazing how fast the turnaround from the idea to acquisition is today. Thanks for sharing!