I’ve jotted down my initial product and feature ideas in a messy brain dump and tossed them into a README file on GitHub. It’s far from organized, but it’s a start. I think I even know who my ideal customer is: software companies with a management layer. We’ll get into the actual product soon, but to give a quick teaser, it’s a tool for optimising management layer productivity in software companies. Now, let’s talk tech.
I probably shouldn’t have taken the approach of talking tech so early, but I’m doing it anyway to keep the sense of progress. Tech is something I’m good at. I’ve spent years building and deploying software products, and I initially want to feel confident.
Key Decisions to Make
I need to make a few decisions about how I’m going to tackle the following:
- UI and UX design
- Backend
- Frontend
- Database
- Orchestration
- How do I sell the product?
- Staying organized
This is how I imagine this journey of building a SaaS—just me, all on my own.
I have a solid background in software engineering. I know how to code, I know what it takes to make production-ready code, and I know how to ship continuously.
But product management? I know what good product managers do, but I’ve never been one. Even though I have a clear vision of what my product should do, the question of product-market fit looms ahead. I’ll dive deeper into that soon.
UI/UX and Design
Design is where I expect to struggle the most, mainly because I have little experience with visual aesthetics and user interactions. I’m not a designer, and I’m definitely not great at UI or UX. My plan is to start with Uizard’s text-to-wireframe tool. It seems to address my initial needs and should help me create at least a basic wireframe. From there, I can develop a reasonable API.
For design, I have two options:
- Buy something from ThemeForest
- Pay someone to create an initial design
ThemeForest is definitely more budget-friendly, but I envision a clean, highly intuitive interface that may be challenging to achieve with a pre-made template.
Backend
For the API, I’ll use ASP.NET Core. I’m fluent in C#, and the ASP.NET Core community is massive, which makes it a comfortable choice. I’ll use Cursor as my IDE—it seems to work well enough with the tech I’ve chosen so far.
Frontend
For the frontend, I’m going with Vue.js 3. A friend of mine used it to build Upstream, and it worked out well, so I trust their recommendation.
I also expect Cursor to be incredibly useful here, especially for getting unstuck with frontend work.
Database
The database will be PostgreSQL. It’s free, I’m familiar with it, and it meets all my needs. There’s no need to get fancy here (though, why do I think Postgres isn’t fancy? Hmm).
Deployment Strategy
My deployment approach? Simple: code hits the main branch on GitHub, and it goes to production automatically. I want nightly deployments—every night. I’ll use feature flags to avoid unfinished features making their way to users. This way, only I (or service accounts) can access new features until they’re ready.
The goal is no big “grand launch” days—just small, continuous, automatic improvements. This approach allows for faster iteration, minimizes risk, and keeps the product evolving steadily. And if I break something, well, it’ll be my problem first.
Code is going to be deployed to a VPS I’m already paying for with Contabo
You might ask yourself, why not AWS, or GCP or Azure and the answer is – I’m already running a VPS and I like not having all the bells and whistles at the beginning, just to keep me focused.
How do I sell the product?
As for marketing? No concrete plan yet. I know this is what makes or breaks the bank, but I’ll revisit this when the product is more mature. It’s October 13th, 2024. I’m just getting started. Future Me can handle the marketing side of things. For now, I know that I want sales to be as inbound and self-serve as possible—obvious reasons, right? It’s a solo project. There’s no sales team.
Staying Organized
Finally, I need to stay organized. Small, manageable tasks are key. I’ll be using GitHub Projects, and with some ChatGPT prompting, I hope to build a solid backlog of bite-sized tasks I can tackle every night. I’m also evaluating using Jira because Cursor has native integration with Jira, and it’s vital in this whole journey to eliminate all work that does not need to happen, like bureaucracy. If Jira with Cursor helps streamline this, I will use that.
Am I missing any of the big decisions I need to make now?
Let me know via Discord what I forgot.