I Launched My First SaaS Product

Bogdan BujdeaBogdan Bujdea
9 min read

I’ve had several ideas for software products over the years—things I thought could be useful, fun to build, or just a way to experiment with new tech. But like a lot of developers, I often found myself starting strong and then getting stuck in this loop of second-guessing. I’d either lose motivation because someone else had built something similar, or I’d get overwhelmed by everything I thought needed to be perfect before launch.

Being a backend developer, I always felt more comfortable with the server-side stuff, but taking an idea and turning it into a product people could actually use—frontend and all—that’s where things got tricky. So, I finally decided to challenge myself: pick a simple idea, build it, and actually launch it. No overthinking, no polishing things until they’re perfect. Just build and ship.

This article is about how I made that happen, focusing on shipping something usable instead of waiting for perfection.

What was stopping me from launching a SaaS?

If you're looking to launch a product and want to reach a large audience, my opinion is that building a web app is the best way to go. Better yet, a PWA can give your app a native feel, and you don’t have to worry about building apps for different platforms. But what happens when most of your experience is in backend development? Sure, any developer can put together a basic website, but it's 2024, not 1994—your app needs to do more than just work; it needs to stand out. That was the first hurdle I faced when I had an idea.

Another challenge I’ve always faced is discouraging myself early on. If I worked for a week or two and saw another similar app, I would convince myself there was no point in continuing—after all, why build something that's already out there? Or, worse, if I heard someone dislike a similar app, I would assume everyone would hate mine too. Over the years, this led to several ideas being abandoned, many of which others eventually built.

But last month, I decided to break that cycle. I challenged myself to build a simple app and launch it.

The Idea

The goal of this challenge was simple: to launch the product. Success wasn’t tied to any financial targets or milestones—it was purely about shipping something quickly. That’s why I decided to build on something I’d already created a few years ago, a small Blazor app I used personally to analyze my Todoist tasks and plan long-term. Todoist is a simple app great for planning your tasks for today or this week, but it’s not that good for thinking way ahead into the future, planning more complex tasks (goals) or even showing you some statistics about your productivity. I figured that if it’s helpful for me and I already have some of the functionality done, then it should be useful for others as well and it wouldn’t take long to rewrite it into a SaaS product. I was wrong on the last part, what I thought would take 1 week actually took almost 2 weeks, but funny enough it’s not the development part that required the most work.

For example, I spent a lot of time obsessing over a name and domain, until I realized I was wasting more time on this than on the actual implementation. In the end, I went with https://task-analytics.com

Task Analytics landing page

Writing frontend code with AI

Now let’s get back to my challenge, the key was to develop something simple and usable. I didn’t want to spend months developing the app, knowing that the longer I worked on it, the greater the risk of losing momentum and quitting. However, there’s still the frontend issue!

As a .NET developer, it’s easier for me to pick up Blazor than to dive into React or Vue. Still, Blazor doesn’t make the frontend magically easy—knowledge of HTML/CSS is still required, and most of my frontend experience consists of admin interfaces (simple to use, not responsive), or using predefined components that are simple to use but they are not “beautiful” by default (Radzen, Syncfusion, etc). So, should I start learning frontend development? Honestly, life is too short for that, especially when AI tools can step in. At the end of August I heard that Cursor AI is generating some good impressions so I thought it’s time to try it as well. This is a tool that integrates AI right into your code editor. If you’re familiar with VS Code, Cursor AI feels like home since it's a fork of VS Code, but with AI built into it.

Cursor AI

Here’s an example: I can create an empty Settings.razor page, then give it a prompt like the one below:

Implement the settings page UI and functionality. Make sure it’s consistent with the Home page. The settings page should include a profile picture, user name, join date, and a sign-out button. Call the user info endpoint when the page initializes, and prompt the user on sign-out to confirm. If they say yes, clear the cache and redirect to the home page.

In response, Cursor generates the code in less than 30 seconds. If it looks good, I hit a button and apply the changes. If not, I can keep chatting with the AI to tweak it.

An experienced developer could probably write the functionality in minutes, but it’s the UI that’s tricky. In my opinion, the hardest part of frontend work isn't writing the code—it’s the design. Without a clear design, I spend more time tweaking layouts and colors than actually writing new functionality. With AI, I can give broad directions like “make it consistent with the Home page,” and it ensures the pages have the same structure and color scheme. If I don’t like the look, I can prompt, “make it more modern” and the AI adjusts the design. Of course, that’s a pretty bad prompt and I use it only when I don’t know what I want, I just know I don’t like it 😅. Most likely it might not get great results, but the more descriptive I get, the better the output.

Another benefit is handling responsiveness. I can simply prompt, “make it responsive,” and then test it on different screen sizes. If something’s off, I can tell it what needs to be changed by writing the requirements or I can upload screenshots and have the AI fix the UI. Sometimes I’ll even use a combination of Chat GPT and Cursor AI, for example I give a screenshot of my page to Chat GPT and tell it to roast it and write requirements as a conclusion, then I just give those requirements to Cursor AI.

I’ll make a YouTube video this week where I’ll go through some example to see where AI handles the task very well, but also where it screws things up and you spend more time improving the prompts instead of writing the actual code.

Balancing Perfection and Practicality

Now, Cursor AI isn’t perfect—it’s far from it. It still makes mistakes, and sometimes it takes longer to generate code than writing it manually as I said above. But with practice, you learn which prompts work best and which to avoid. For me, it made frontend development feasible, even though I hadn’t touched CSS in over a decade. I’m not a frontend developer but even I can tell that the Lighthouse score in the screenshot below is pretty bad, and it proves that AI doesn’t produce flawless code.

Lighthouse score

If the app proves successful, I'll definitely invest time into optimizing it or even bringing in a designer. But, as I mentioned before, the goal was to launch something usable, not perfect. Sometimes, that approach clashed with my usual instincts, especially on the backend. I love squeezing every bit of performance out of my code, but this wasn’t the time for that. For instance, I started writing Azure Functions for handling heavy operations, only to realize I was about to spend 1-2 days on something unnecessary at this stage. Instead, I opted for a simpler solution that I could write in 30 minutes. It was tough to take this route, knowing all too well the risks of technical debt. But in the end, I’m more satisfied with having launched something practical rather than perfect.

The point wasn’t to create an open-source project showcasing flawless .NET code—it was about sticking to the core goals and priorities. That said, my app isn’t slow or expensive to run, I pay around 50-60 EUR/month for Azure and I would probably need to scale up when I go over 100-200 users, or make some serious performance improvements. Until then, I can focus working on new functionalities.

Azure costs

Just to be clear, I’m not advocating for cutting corners to the point where it harms the product. I’ve seen indie developers justify junk code in paid apps that barely function, and I have no intention of going down that road..

Writing backend code with AI

I also used Cursor AI on the backend when things got repetitive or too simple to bother coding manually.

Even though I made some exceptions on the performance and quality, there were still some things that I wasn’t willing to give up on. For example, implementing a good CI/CD pipeline, not having any warnings, writing some unit tests for critical areas of the business logic and writing clean code overall. Even though I have a decent amount of backend code generated by AI, I made sure it respects basic principles of clean code. Sometimes I actually had AI refactor my code by giving it some similar classes and asking it to remove the code duplication, which it handled pretty well. If you want more tips on using AI in your code, I have a LinkedIn post about this you can read.

Conclusion

If I were to develop this app in an enterprise setting, it would easily take a year. First, you’d spend 2-3 months planning the app, followed by another few months just getting approvals. Then comes the implementation phase, where a significant amount of time would be spent reviewing code and debating things like whether to use microservices or a monolithic architecture 😅.

Now that my app is live (and it even has paying users), I can consider this challenge complete. But this is just the beginning. As the title says, this is my first SaaS app, I’m not stopping here. I have more ideas in the pipeline, and I plan to build in public to show how you can build your own product as a .NET developer, even if your expertise lies mostly in the backend. I’ll follow up with more blog posts and YouTube videos that will have more details about my journey, so make sure you follow me if you want to know more!

1
Subscribe to my newsletter

Read articles from Bogdan Bujdea directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Bogdan Bujdea
Bogdan Bujdea

Expert generalist • Independent Contractor • Microsoft MVP • Home Assistant enthusiast Hi there! I'm Bogdan Bujdea, a software developer from Romania. I'm currently a .NET independent contractor, and in my free time I get involved in the local .NET community or I'm co-organizing the @dotnetdays conference. I consider myself an expert generalist, mostly because I enjoy trying out new stuff whenever I get the chance and I get bored pretty easily, so on this blog you'll see me posting content from programming tutorials to playing with my smart gadgets.