How I Built My First SaaS

Shubh Patni
6 min readDec 7, 2023

My first full-stack software as a service product with AI

$1B idea

Before we begin: It’ll help me a lot if you could support ResMe on Product Hunt and try it out (it’s FREE)

I am a 21 y/o unemployed university student who did not get any co-op/job despite winning multiple hackathons, having programming experience of over 6 years, and built countless applications.

I literally applied to over 250 jobs and got ghosted, got a few interviews then got ghosted, finished all rounds, got accepted, and then, again, got ghosted. Idk who is worse, these companies or my ex

I am into crypto and ideally, I want to get a good web3 job but since crypto was just going down it was hard to find any positions for a university kid. To test my luck, I applied to an accelerator program by Polychain and Lightspeed.

Got selected out of 1/16 teams. Idk why they chose me but I was glad they did.

There’s a lot of stuff that happened, finished accelerator, co-founder left, got a job, it was shit, I quit, yada yada yada. Let’s keep that story for another time but this didn’t work out so I started ResMe.

ResMe — Idea

Idea unlocked

I was using a platform called Simplify to create resumes and apply for jobs but there were many features that they didn’t have. For the record, I think Simplify is amazing and I highly recommend it, it just sucks for creating and managing resumes.

I wanted something where I could create resumes, save them, edit them later, and download them in high-quality ATS-friendly PDFs. So I made ResMe for myself.

While building it, I kept getting ideas on how I could make it better like adding a shareable link feature to share it with your friends for second opinion or recruiters on LinkedIn. I found that most people don’t know how to format resumes and that most PDF builders out there are not easily parseable, so most resumes go to the trash.

On Reddit, I saw that most people struggle with filling the whole page and writing formatted bullet points. So I shoved AI into it and made it spit out pure gold. I fed this genie 25k resumes, and tried to fine-tune Mistral 7B, but ended up just modifying GPT-3 turbo and it works like a charm!

Then I realized that since people input their work history and projects, this app could be much more than just a resume builder. It could allow you to host portfolio websites that update automatically with your resume. After you have a repository of the best talent, It could eventually be what LinkedIn was meant to be

This got me more excited about the product and I decided to completely bootstrap and launch in public.

The Tech — Behind the scenes

Photo by Christopher Gower on Unsplash

I decided to use Typescript, Next js, React, Mongo DB, Tailwind, Zustand, and Vercel. Here's why

Typescript

TS is typesafe javascript. I would recommend any web developer to learn typescript. It helps you write much more scalable code and speeds up your development when the number of lines in your codebase grows.

Next js

There is a lot of a learning curve with Next but I think it helps you build applications fast. I know there is a lot of hate for next js but I think there is a reason it’s one of the most popular web development frameworks out there. You can control how stuff is rendered very easily by using server/client components and next/dynamic which was super handy for my application.

It provides you with error/suspense boundaries, and layouts which ease development. It is optimized for SEO, next/image handles image rendering well, it integrates easily with any database solution and next auth very easily. There is a huge community of Next js developers.

MongoDB

I was very confused between choosing a DB solution and choosing between SQL and MongoDB. I know SQL and have used it before but I always wanted to try Mongo and yeah, I chose to learn something new, for my first saas, what could go wrong, right?

Gladly, it was the right choice. Mongo is very flexible and allows you to modify the db very easily. I have changed my db so many times, even after pushing to production and everything is working fine, so far.

I designed my schema more like a relational database even though you don’t need to in Mongo. I did this because it makes more sense to me to have different objects in their schema and refer to them wherever I need them. I would highly recommend you try Mongo if you haven’t already. It’s amazing unless you are building the next discord.

A few tips for Mongo always use “select”, “populate”, “lean”, and “references” to fetch data efficiently. You can learn about these keywords on Google :)

Tailwind

I love Tailwind, it's very intuitive, customizable, easy to read, and works well with themes. I would highly recommend you give it a try and try to use it with variables so you can use the same classes in multiple components.

Zustand

I don’t know a lot about react state managers but Zustand turned out to be a wise and easy-to-use solution for my use case. It can automatically persist and manage data in local storage and you can just use it anywhere without worrying about context managers, providers, etc

Vercel

Out of this whole list, I'm still not sure about Vercel. I experienced a lot of issues using it with the next auth, it would always time out because of the function execution time limit of 10 seconds on the free plan. I had to upgrade to the pro plan which is around $20 a month. I might switch to AWS in the future or any other cloud solution but the ease of development that Cercel gives you as a solo founder is unparalleled.

Getting Users

That’s me

This is the hardest part for any technical person like myself. It’s not like I am an introvert or can’t talk about my stuff, it just feels like you are spamming your product and I don’t want to be perceived in that way.

I was exploring what the best way to promote is and so far, replying to r/resume and other subreddits where people ask about jobs seems to be the best way to promote. I would highly recommend using Reddit and posting on niche-specific subreddits and subreddits like r/nextjs r/saas r/react. Share what you are building, share what you know

I got over 1.6 users to see my product and around 10% signed up. I lost a lot of customers because my platform was buggy at the time and therefore I stopped posting about it. You can see a huge gap between 19Nov and 3Dec. I focused on fixing bugs and adding features during this time.

I had to design my resume builder 4 times. I tried every possible technology to generate pdf and previews. I even had to learn how fonts are generated and worked so that my resume is parseable.

Finally, the platform is much more stable right now. All the features are implemented and I am waiting for Stripe to work so I can turn on premium features.

I don’t know how this will play out. I haven’t made a penny with this yet. I think the platform is good and helpful. You can try it out at ResMe . If this post was helpful at all, consider sharing it. You can always DM me on Twitter with any questions, feedback, or suggestions.

--

--

Shubh Patni

Programmer | Youtuber | Writer and Student at Northeastern University. https://www.shubhpatni.com/