Preliminary note
Even though I didn’t open-source the code for this project, I think it still showcases what I did on a technical and a non-technical level through the paragraphs I have written below.
Introduction
“Hmmm… This job board for juniors from Europe idea doesn’t seem so hard to make and I think it will be useful to people.”
Those were my first thoughts when I was generating ideas for a project I would do in my free time. At that same time, I was reading MAKE by Pieter Levels and the entire idea of the book is to build stuff and see how the users respond to it. I had the idea – job board for juniors from Europe. I didn’t have the skills to pull it off per se because I had never worked as a web developer before, but I do have a master’s degree in computer science and had worked as a software engineer before, so I decided to start making my project. I first thought about going through the Odin Project, then start to work on the project, but I opted for diving straight into working on the project.
This is a description of how the project went.
How it went on a technical level
It took me around 3 months to build and deploy this website.
The main reason it took me 3 months was because I was bad at building the MVP (Minimum Viable Product) specifications. My first MVP idea was to make a job board where job seekers and employers can log in to look for jobs or to post jobs, respectively. This added an unnecessary layer of complexity to the MVP – why did I even need users? I could just make a website where someone (anyone) can post a job. For the first basic version, I didn’t need users (neither employers nor job seekers) to be registered to my website. I think this took me about month and a half to realize, after which I modified a large part of my code.
I familiarized myself with Django and Bootstrap. I familiarized myself with a lot of things, such as:
- building Django apps
- database design (I already had subjects around this in college, this project was applying the theoretical knowledge I had)
- database querying in Django
- writing tests
- sending email via Django
- scraping data (in particular, country names and country codes)
- creating a searchable drop-down menu of countries which are pre-loaded from a .txt file
- optimizing the searchable drop-down menu of countries so that it doesn’t slow down my website
- using Bootstrap to build the front-end of my website
- using Gunicorn and ngnix to serve my website
- deploying my website on Amazon AWS
- configuring Amazon’s Route 53 to set up my DNS records properly
You can get a sense of how it looked like below:
There are probably things I left out of the above list (it’s non-exhaustive).
So, I spent about 3 months of my free time working on this website. When I finally deployed it, I was faced with a completely new (but not unexpected) set of issues: getting users.
How it went on a marketing level
“Looks like this is more difficult than I thought” I thought to myself, as I was looking for ways to build awareness around my website.
When I deployed my website, I thought I had only one problem: no one knew about it. I thought about posting about the website on reddit’s Europe subreddit, but that would break the subreddit’s rules about no self-promotion, so that was off the table.
I also quickly found out about another problem with my job board: there were no jobs there! So I had two options:
- invite users to an empty job board
- pre-seed the job board with jobs, then invite users
However, “pre-seed the job board with jobs” was a tedium, because scraping websites is a tedious job. So, at that point, I had to ask myself: “Do I really want to continue pursuing this?”
And the answer was no. About two thirds of the way through building the job board, I realized that this is most likely going to be a portfolio project and not a project I did in my free time which caught on users.
The main reason I thought that this project wouldn’t catch on users was because when I looked for jobs, I looked for them in the following ways:
- I googled “jobs in <cityName>” and I looked at the Glassdoor jobs results
- I looked at jobs on LinkedIn
- I looked at jobs on the local job boards (I think every country has a few)
The junior jobs for Europe thing sounded good in my head, but there was just many good (if not better) alternatives and I just didn’t want to continue pursuing this further. So I decided to wrap this project up and to add it to my portfolio of projects. At that time, I wasn’t even aware of stuff such as Four Fits For $100M+ Growth, which would have probably got me thinking about marketing before I started building the product. In retrospect, I think this would have been a good thought experiment prior to building the job board.
Conclusion
In conclusion, I am happy with this project. I single-handedly made the front-end, the back-end and the deployment part of the project. After putting the project in production, I realized that I don’t want to pursue it anymore, so I quit working on it. Even though nothing came out of the project in the sense of it catching users, I sharpened my web development skills, which will come in handy on a variety of projects.
Subscribe to my newsletter to keep abreast of the interesting things I'm doing. I will send you the newsletter only when there is something interesting. This means 0% spam, 100% interesting content.