- Job Application Tracker & AF-Auto
A powerful Flask-based dashboard to manage job applications, visualize your search statistics, and automate the monthly activity reporting to Arbetsförmedlingen using Selenium.
1.2.0
- Job Dashboard: Track job titles, companies, cities, and application dates.
- Live Statistics: View total applications, monthly trends, and status distribution (with percentages).
- Side-by-Side Analytics: Compare your progress at a glance with a responsive flexbox layout.
- Multi-Format Export:
- JSON: Export monthly data for backup or external processing.
- PDF: Generate official-looking activity reports for a custom date range.
- AF-Automation: Automatically uploads your applications to the Arbetsförmedlingen portal via Selenium (requires manual BankID login).
- Database Management: Built-in search functionality and a 1-click database backup feature.
- Required Files Ensure your project folder structure looks like this:
├── Activity_Report.pdf
├── README.md
├── Report_Okt 2025.json
├── af_uploader.py
├── app.py
├── folder_structure.txt
├── fonts
│ ├── DejaVuSansCondensed-Bold.ttf
│ └── DejaVuSansCondensed.ttf
├── images
│ ├── add_new_application.png
│ ├── job_statistics.png
│ ├── search_function.png
│ └── tracked_applications.png
├── job_tracker.db
├── jobs_import.json
├── json_importer.py
├── mock_up_data_script.py
├── requirements.txt
├── static
│ └── style.css
└── templates
└── index.html
- Install Dependencies Open your terminal/command prompt and run:
pip install flask selenium easygui fpdfNote: You also need the Microsoft Edge WebDriver (or Chrome/Firefox equivalent) installed and added to your system PATH for the automation to work.
| Plugin | README |
|---|---|
| EasyGUI | https://easygui.sourceforge.net/ |
| Flask | https://flask.palletsprojects.com/en/stable/ |
| fpdf2 | https://pypi.org/project/fpdf2/ |
| NumPy | https://numpy.org/ |
| Selenium | https://www.selenium.dev/ |
-
Navigate to your project folder.
-
Run the application: Bash
python app.py -
Open your browser and go to
http://127.0.0.1:5000.
- Fill in the "Add New Application" form.
- The "Time Waiting" field updates automatically relative to today's date.
- Use the Search bar to find specific companies or roles.
- Select a Start Date and End Date in the Export box.
- Click the 🔗 AF button.
- An Edge browser window will open. Log in with BankID manually.
- Navigate to the "Add Activity" (Lägg till aktivitet) page.
- Click OK on the popup box to let the script begin auto-filling your data.
- On any job entry, use the dropdown menu to change the status (e.g., from "Waiting" to "Rejected").
- Click Update. The "Last Update" date will automatically refresh to today.
- Regularly click the 💾 Backup Database button in the top right. This downloads a copy of your
job_tracker.dbfile to your computer.
- Each job entry has a 🗑️ icon. Clicking this will permanently remove the entry from your database after a confirmation prompt.
- BankID: Due to security protocols, the BankID login cannot be automated. You must be present to scan your QR code.
- Browser: The current
af_uploader.pyis configured for Microsoft Edge. To use Chrome, changewebdriver.Edge()towebdriver.Chrome()inaf_uploader.py.
This sample code is made available under the MIT-0 license. See the LICENSE file.
Sandra van Buggenum
- GitHub: SnowY4you
- LinkedIn: Sandra van Buggenum
- Added PDF report generation
- Improved UI layout
- Fixed date formatting bug
- Added monthly statistics view
- Initial release