
Building a Java Desktop App to Track Job Applications
Why I Built It
I’ve been using a spreadsheet to juggle many job applications at once. I was using Excel to manage everything, but it quickly became limiting. I wanted a more dynamic way to track roles, statuses, interviews, and follow-ups, also analyze trends in my job search.
The app allowed me to tailor the details to my job search workflow, from filtering by job title and application date to generating reports on how many interviews I landed over time.
How It Works
The app is built using Java Swing for the GUI, with a fully embedded H2 database running in the background. No external dependencies or installation required, it just runs. Key features include:
Add/Edit/Delete Job Applications
Sort & Filter by Status, Company, or Date
Built-in Reporting to see progress over time
Technology Used
Language: Java
GUI Framework: Java Swing
Database: Embedded H2
Design: Multi-tab layout with a navigation toolbar
Extras: Export functions
Source Code & Portable App
The full source code for this project is available on my GitHub, where you can browse or fork it if you want to build your own version or add new features. The code is organized into modular classes for each screen and functionality, making it easy to navigate and expand.
To make the app easy to run on any machine, I also created a “fat” JAR file, a single Java archive that includes all dependencies bundled together. That means no need to install anything extra or mess with environment setups.
It’s a lightweight, portable solution I use on my own desktop to quickly launch the app and check in on where I’ve applied, who I need to follow up with, or check trends over time.