How I Hacked Notion For My Job Search

December 18th, 2019

When I first started looking, like seriously looking it'd been a number of years before I'd seriously done anything you could consider an actual search for a new job. This was mostly, well entirely out of the fact that I'd left my previous job so I actually needed to find something and couldn't just "sort of look".

When I started researching and applying, I was at first entirely overwhelmed by the various sites, application processes and the need to keep track of everything. Scheduling interviews, determining where I was in the process, keeping track of notes, pulling up job descriptions (which I found they will sometimes change on you!). Luckily I'd discovered Notion a few months earlier and had been using it in my last role as well as to organize my personal life.

If you haven't heard of Notion, I like to describe it as if Trello, Airtable and a wiki all had a baby. It's powerful and has a ton of great features you'd expect, plus it has a great mobile app. Anyway, if you've to actually check it out (referral link) you should. It's kind of the entire point of this article.

Getting Setup

The name of the game is keeping track of what you've done, which hopefully is researching and applying for jobs you're interested in right? With so many job sites, so many roles (hopefully), you want to make sure you don't accidentally apply for a role on one site you might have applied for on another (not like anyone would ever accidentally do that...). It'll also be helpful as you go through the application process to know where you are in the current process.

My first version of the table ended up using the company as the key, but I soon realized larger companies sometimes had multiple roles which I might be interested in. So after some Spreadsheet-fu, I overhauled my table to key off of the job title instead. Okay, so what does the high level basic table look like?

Job Table

As you can see the main id is the Role, which I'll come back to. The other fields are:

  • Company - A no-brainer but it allows me to quickly group jobs by company to see if I've applied to a company in the past (I pulled historically data I had prior to my job search to backfill this some)

  • URL - A URL to the job description. This easily allowed me to check to see if a job was no longer available. A lot of companies never respond so knowing a job was no longer open allowed me to filter out roles and companies I shouldn't focus on any longer.

  • Status - Most likely the most important field, I used it to track where I was with a specific role. I had a number of options including Recruiter (if a recruiter had approached me directly), Networking (if someone I knew had referred me), Scheduling (if I'd heard back but was still coordinating a date for an interview), Apply (If I hadn't applied yet but wanted to look more into the role and company), Applied, Screening, Assignment (if they'd asked I do an assignment or case study), Interviewing (if an interview was scheduled but hadn't occurred yet), Feedback (if I'd had an interview but was waiting to hear back), Declined (if I decided to turn down the opportunity), Rejected, Closed and Ghosted (If the company never responded to my follow-ups). I know that's a long list, but it helped keep me focused day to day on what I needed to be doing, whether it was prepping for an interview or crafting a follow-up email.

  • Applied Date - This was pretty helpful just to be able to quickly determine when a company got back to me how long it'd taken and usually gave me an idea of the speed to which the entire process might take.

  • Interview Date - I always updated this with my next interview so I could filter to see what was coming up and who I needed to follow-up with after an interview was over.

  • Role - The Role actually linked off to another subpage, which allowed me to surface some more details as well as the Job Description itself. I sometimes found that the Job Description (JD) online would change so having a historical record was very helpful. This subpage also was a place where I could put in the Email for the main contact (usually the recruiter). As my job search went on I also added in a Recruiter dropdown for the recruiting agencies and job sites that would reach about roles they were recruiting for. It was helpful to be able to reference past interactions to see if I wanted to bother responding to emails or phone calls from them or not.

Job Table Subpage


So I mentioned how helpful Filtering was, I had a number of Filters I used to stay focused including:

  • Recent - I simply wanted to see what roles I'd applied to or was interviewing with. (Formula: Applied Date Is After One Month Ago AND Status Is Not Declined AND Status Is Not Closed)

  • Interviewing - Roles I'm interviewing for. (Formula: Status Is Screening OR Status is Interviewing OR Status Is Assignment)

  • Interviews Today - (Formula: Interview Date Is Today)

  • Interviews Yesterday - (Formula: Interview Date Is Yesterday)

  • In Progress (Formula: Status Is Screening OR Status Is Assignment OR Status Is Feedback OR Status Is Interviewing OR Status Is Scheduling)

  • Rejected - :( (Formula: Status Is Rejected)

  • Recruiters - (Formula: Recruiter Is Not Empty)

  • Applications by date - This was simply a calendar view by Applied Date

  • Ghosted - :( (Formula: Status Is Ghosted)

The Filters I found most useful was Interviews Today, Interviews Yesterday and In Progress.


So the one downside with Notion is the lack of API support currently, which means I have never been able to plug it into other services. So as much as I wanted to have interview dates automatically populated in my calendar, I still had to do things manually (which is why there was no Filter for Interviews Tomorrow since I relied on my calendar).

That said there are ways to automate adding upcoming Interviews to a calendar from a spreadsheet (just not from Notion at this point) which I'll cover in a future post.