With the time constraint in mind, I selected a handful of AI companies to curate the jobs from such as OpenAI, StabilityAI, ScaleAI, etc.
I built a scraper in NodeJS to scrape the listings and then save all the scraped jobs to a Postgres database hosted in Supabase.
I chose Nextjs for the app because it ships so many features out of the box that can cater to a full-fledged job board. I’ll go through each feature one by one in this post.
You can check the final site here:
Also, it is worth mentioning that I built a job board for globally remote jobs in Nextjs a couple of months ago. So, cumulative knowledge plays a role in quickly shipping this project.
- Dynamic routes for each job page
We can generate a dedicated page for thousands of jobs easily using dynamic routes. This is helpful for SEO (programmatic SEO to be precise) and for sharing a job easily.
See how I put slug inside a square bracket in my project. This is to indicate nextjs that this is a dynamic route and each page will take a different slug.