Greetings
Hello everyone and welcome to 2025!
This is the first blog post of a series I am calling “SaaS Challenge #1 of 2025”.
Introduction
The posts in this series will chronicle my attempt to create a SaaS application, acquire real-world users, and generate monthly recurring revenue of some minimal amount.
In a nutshell, I want to create a SaaS ( Software as a Service ) business application for a narrowly focused type of small business.
For example, here are four specific types of small businesses that could be targeted by a SaaS application.
- Veterinarian Clinic
- Pool Cleaning Business
- Bail Bond Business
- Septic Service Business
My idea is to create a low-cost, limited functionality application that is suited for being developed and maintained by a single developer. The SaaS application does not have to manage every aspect of the business. It may handle only one or a small number of the business processes performed by the business owner or employees.
This specialization can be a competitive advantage.
While larger software providers may offer comprehensive software solutions for businesses, a smaller, more narrowly focused piece of software may be an attractive choice for a small business who doesn’t need a large, complicated array of features that usually come with a higher cost.
A highly focused business SaaS application may choose to provide features only for very specific business processes.
Cross-cutting features, such as accounting and financial features, may be omitted since they are not specific to the niche business type being targeted by a narrowly focused SaaS application.
Small businesses often track their financial and accounting data using simple tools like spreadsheets or other free or low-cost generic accounting software packages. Therefore, these features could be omitted from my SaaS application.
For example, a septic service business may benefit from an application that provides the following features:
- Generating a parts, materials, and tools check-list for all items needed for the installation of a new residential septic tank.
- Generating a “Steps List” for guiding the process of installing a new septic tank.
- Capture insights and ideas that may be useful for future projects.
- Document unforeseen events and problems that arise during the project.
- Record and track additional costs that were not anticipated in the original estimation
About Me
I am a typical average software developer with almost 30 years of experience. Yes, I am well over 50 years old. So don’t think the software game is only for the young nerds. And although 30 years sounds like a lot, much of the things I did over 15 years ago have become obsolete or I have forgotten much of it anyway.
I graduated from a very average state university in the mid 1990s with a bachelor’s degree in Computer Information Systems (CIS). CIS was a major offered in the university’s College of Business. Many schools call this type of degree Management Information Systems (MIS). After working as a developer for 20 years, I went back to school and earned an MSBA (Master of Science in Business Administration) in MIS (Management Information Systems) at another state university.
The value of degrees is a hotly debated topic these days. I do think they have become outrageously overpriced. The main advantage they offered me was they forced me to focus on learning and complete courses so as not to waste the money I paid for them.
Because one of the main goals of this series is to create my own business offering a SaaS product to other small businesses, whether or not I have a degree is irrelevant.
Although I started my programming career writing code in COBOL for IBM mainframe systems, most of my professional career has been spent building software with Microsoft languages and tools such as C# at unremarkable mid-size companies and organizations.
The type of software I have created professionally has always been business applications. My degrees in information systems were focused on the application of technology to business needs. I have never tried or even had an interest in game development. Although I find the topics of low level programming interesting, I don’t have the technical expertise to create operating systems or device drivers.
Technology Stack
As I mentioned earlier, most of my professional experience is with C# and the Microsoft ecosystem. I have dabbled in website development using PHP and Java, but never in a professional capacity.
I usually dig deep into technical concepts only when necessary. That is to say, when the project I am working on requires it. When it comes to technologies I am not required to use on a day-to-day basis, I will periodically scratch the surface of those topics, mostly by reading about them. One of the reasons I am attempting this SaaS self-challenge is to force myself to gain more hands-on familiarity with the tech stack I have chosen for this project.
The technology stack I have chosen for this project is Java based. My plan is to develop the SaaS application as a web app that uses Angular for the front end, a JAX-RS web api on the server, and a MySQL relational database for my datastore.
In following blog posts I will go into more detail on why I chose to use these specific technologies.
Not a Tutorial
This blog series will not be a tutorial on how to use any of the tools and technologies I use to build this application. Instead, I am creating these posts so you can follow along with my progress and see what kinds of problems, obstacles, failures, and successes, if any, I have.
I am attempting this to break myself out of “tutorial hell” and start creating instead of only consuming.
You may find this series interesting if you are in the same boat as me. If you have been consuming tutorials but not applied and solidified what you have learned, you may enjoy watching me stumble through the process and get motivated to take some action of your own.
This will not be a smooth flowing process. The skills I possess within the tech stack I have chosen range from poor to average.
I will spend tons of time doing the following:
- Online research
- Scanning and reading tutorials.
- Digging into Jakarta EE specifications
- Reading and referencing the Java ecosystem books I currently own
- Digging deeper into Angular
- Researching the lowest cost hosting platforms to host this application
- Learning and applying the most fundamental digital marketing campaign to promote the SaaS
- And much more as I discover what I do not know
My Motivation
Why am I doing this? In short, my primary reasons are:
Have Fun
Make Money
Gain Freedom
Increase Earning Potential
I have always found programming computers to be fun and interesting. Yes, even business applications. Watching an application perform work in a matter of seconds that would normally take a human hours to complete is very satisfying.
When it comes to making money, the key is providing value. Software development is very lucrative because the software can often automate processes and complete tasks that can be expensive when paying a human for multiple hours to do them manually.
Starting out, I don’t have any specific monetary goals. In the early days, my primary goals are to get an MVP ( minimally viable product ) completed, charge a minimum of $5 to $10 USD per month for the SaaS, and get at least 5 to 10 paying clients. Earning $25 to $100 per month doesn’t sound like much, but it is a start and is something I can improve or grow. It is also a learning experience that will give me skills and insights I can use to create a second, third, and more SaaS applications. If one application isn’t enough to reach my monetary goals, then perhaps I can create a portfolio of SaaS application businesses that will collectively reach my goal.
I have worked for other companies for many years. That work always involves creating the software they want. Not the software I want to create. They decide where I am allowed to do this work. I have had the opportunity to work remotely over the last few years, but the pressure to return to the office seems to be getting stronger. Even when working remotely, I am still constrained by having to work during the days and hours they choose. I am also limited to a specific number of vacation days I am allowed to take each year. Owning and running your own successful SaaS product business could give you the ability to make all those decisions for yourself.
At the very least, attempting to create a SaaS product business will result in me learning many things that I don’t get exposure to in my normal day-to-day software development job. Learning new skills and improving existing skills could help break my habit of settling into a comfort zone which often prevents me from applying for better, higher paying jobs and also stagnates my income level.
To summarize, the possible benefits of this project that I see are:
- Improve my software development skill set
- Enhance my resume
- Increase my earning potential
- Land a better job
- Generate additional income, potentially life-changing income gains
- Learn to promote the SaaS with digital marketing, including content marketing, SEO, and social media marketing.
Conclusion
If you have ever had an interest in creating a software business, learning to code, improving your coding skills, or generating passive income, then I invite you to follow along with me in my efforts to do some of these things.
Leave a Reply