iOS Development

Building the Job Application Tracker


Tracking job applications on different platforms and for different companies almost always ends in using a spreadsheet. I wanted to have a simple way to track job applications and try using SQLite in an application.


First I created a rough design of what the app could look like, using Sketch. I brainstormed what different attributes would users want to know about their job applications. I used to choose the color scheme.

I settled on these attributes:

  • Application Status (Wishlist, Pending, Denied, Offer)
  • Company
  • Job Title
  • Location
  • Salary
  • Listing URL
  • Date Applied
  • Followed Up (yes/no)
  • Notes


I wanted to make this app monetized in some way. I didn’t want it to be paid up front because right now (June 2020) many people are unemployed and don’t want to spend money on an app. I chose to monetize it with “Rewarded Ads.” These are typically ads you see in games, they sound something like: “watch an ad to earn 100 coins.”

A Rewarded ad is something that the user opts to watch, meaning they can use my app completely for free and never see an ad. However I do limit the features of using it completely for free.

A user can have a maximum of 3 job applications for free. If the user wants to add another, they can opt to watch an ad to increase their limit by one. Otherwise the user can decide to buy premium for $1.99 (USD) which gives them unlimited applications.

This allows users to use the app completely for free, with a few ads, if they don’t want to pay any money. If they hate ads, they can decide to buy premium.

Building the App in Xcode

After having a pretty solid design, it’s time to jump into the code. Generally the process to build the entire app went like this:

  • Large status views
  • TableView with custom cells
  • Detail View
  • Dealing with the keyboard because of textFields
  • Scroll View on the detail view
  • Database structure
  • Pass data between the view controllers
  • Filtering the main table depending on the statuses selected
  • Settings Screen

These were the main features for the MVP (Minimum Viable Product). I ran a quick beta test that only lasted a few days. Afterwards I spent 2 weeks improving the UX (User Experience) and adding StoreKit for in-app purchases, and ads.

Launch 🚀

The app was released on the App Store, on June 7, 2020. There was a tiny mistake though. I forgot to finish the metadata for the in-app purchase. Therefore the app was launched, but if a user tried to click on the button to buy premium, nothing would happen. I had to add those details and submit an update before formally announcing the app release on my social media.

June 8, 2020 was the official release. 🥳

You can watch the app process from the sketch to the App Store on my Instagram in my story highlight “APP #2“.

Thank you for reading. What’s stopping you from building your own app?