After programming for about 6 months I launched what I considered to be my first "real" product, Stop Job Hunting. It's a resume builder that is based off a place I used to work.
(Only ever meant to be a demo product please don't sue me.)
I'm proud of two things.
- It actually works. You can go through, build a resume, and it spits out a PDF.
- I learned a ton of new technical concepts by building it.
After spending well over a hundred hours and thousands of lines of code, I finally launched it into the world, and the world quickly told me about all of the bugs.
I decided I wanted to push forwards with other projects, and that I had succeeded by launching my MVP.
Before I laid it to rest however, I wanted to just write down some of the interesting technical parts of this project.
React, Node, Express
The client is built entirely in React, with the backend in Node & Express. I have been programming in React since almost day 1, but I built a server for the first time maybe a month before this project.
MongoDB + Mongoose
The database itself was built using MongoDB + Mongoose, both services that I had never used before.
Custom Auth System
I was very tempted to use 0Auth or another service to handle the authentication for me, but I ended up building it from scratch myself.
Hack My Resume
This project pivoted around an NPM library called Hack My Resume which takes a json string and can turn it into a resume.
Vercel + Heroku
The client is hosted on Vercel and the server is hosted on Heroku. I had used Vercel to host most of my projects because I had never really used a server before - it was my first time using Heroku.
Docker Containers
Another thing I realized I had never done before, is use an NPM library that wasn't "saved" in the local project, but on the computer. This meant that when I tried to push my project to production that Hack My Resume wouldn't actually work.
To fix this I used Docker Containers to hold my server, which I was then able to install Hack My Resume onto.
...
If for whatever reason you are sadistic enough to look at the code you can check it out below.
Server => https://github.com/Stop-Job-Hunting/dev-server
Client => https://github.com/Stop-Job-Hunting/dev-client
Cheers :)
Top comments (12)
Just some tips for monetizing:
I disagree with this point about teasing. I think teasing with a preview or watermarked PDF is a good way to alienate the users into searching for something else, especially if they take time providing the details.
Good one. I got the point. Then don't tease them with the first export. Let users download first 1 or 2 exports for free. Charge them after they exceeds a limit.
hey dude I was just wondering if roomservice.dev is like a real business (and how much $$$ you make ?). Becoz I was actually thinking of making a such a thing and you seem to have experience of how the market responds
Thanks 🙏 😊
Hey man!
We are a real product for sure, my brother is the main engineer (he's actually been coding for like 10 years). We're a well funded startup but currently pre revenue. Hoping to get our v2 launched into production by the end of the month here. :)
I like to think I have decent expertise in growing products, getting funded, and general startup life so ask away if I can be any help there man.
Looks like a great product. The video on the landing page is a nice personal touch.
We're in a similar space, I just launched JobHuntBuddy last moth. I'm really interested with resume builders and may look into building one down the line.
As Liyas mentioned: Allowing guests to enter their details and generate a preview before registering would a great onboarding strategy. Especially with how much time it takes to fill out a complete resume, they'll be so invested in your product already I predict a decent conversion rate.
Keep it up & Good luck!
But why is it horrible then? (fantastic title BTW, sure to gain attraction)
Hi
I did check your code. On the react side:
Perhaps it's better to use reacts CSS modules. Like I have in here: github.com/reijovosu/sudoku/tree/m...
This will separate your CSS and keeps it clean.
I also suggest using useContexts for server communication. For login, save ... etc. On my sudoku, I have been using it to keep game data. This is a good pattern to keep business logic away from view.
Awesome this is really going to help me, currently working on a project similar for education purpose too, having a hard time with React.
The first thing I noticed is you have checked in your node_modules in the github repos.
You have the package.json to reconstruct the node modules, you should not commit them.
Oh yeah lol it's a Frankenstein.
If you are feeling particularly sadistic check it out on safari. I'm pretty sure it's only half way decent on chrome. Haha
I came here from twitter ..
You can't say it is horrible product
It is way better
good luck