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.
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.
The database itself was built using MongoDB + Mongoose, both services that I had never used before.
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.
This project pivoted around an NPM library called Hack My Resume which takes a json string and can turn it into a resume.
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.
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.