Skip to content

An intelligent job application tracker built with Streamlit and powered by the Gemini API. Update your job search progress in a Google Sheet using natural language.

Notifications You must be signed in to change notification settings

ActiveAngrily/application_tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Automated Application Tracker

An intelligent job application tracker built with Streamlit and powered by the Gemini API. Update your job search progress in a Google Sheet using natural language.

Python Streamlit Google Cloud


Main application interface


Features

Natural Language Input

Simply type updates in plain English. No more tedious manual data entry. The app understands your intent and context.

Natural language input example

Google Sheets Integration

Automatically creates new rows for new applications and intelligently updates existing ones based on your prompts.

Google Sheet being updated

Clean Dashboard View

View your entire application history in a clean, scrollable table directly within the app, keeping you organized and focused.

Application dashboard view

🚀 Getting Started

Follow these steps to get your own instance of the Automated Application Tracker up and running.

📝 Step 1: Prepare Your Google Sheet
  1. Go to sheets.google.com and create a new, blank spreadsheet.
  2. Name the spreadsheet whatever you like (e.g., "My Job Applications").
  3. Rename the first tab at the bottom to Applications.
  4. In the first row, create the following headers exactly as written:
    • Company
    • Job Title
    • Contact
    • Date Applied
    • Status
    • Notes
    • Link to Application
    • Salary
    • Location
    • Next Step Date
    • Recruiter Contact
    • Last Updated
☁️ Step 2: Configure Google Cloud & APIs
  1. Go to the Google Cloud Console and create a New Project.
  2. Enable Billing for the project. You will not be charged for usage within the free tier.
  3. Enable the following three APIs for your project:
    • Google Sheets API
    • Google Drive API
    • Generative Language API
  4. Create a Service Account:
    • Navigate to IAM & Admin > Service Accounts.
    • Click + CREATE SERVICE ACCOUNT, give it a name, and assign it the Editor role.
    • Create and download a JSON key for the service account.
  5. Create an API Key:
    • Navigate to APIs & Services > Credentials.
    • Click + CREATE CREDENTIALS and select API key.
    • Copy the key and restrict it to the Generative Language API.
🔗 Step 3: Connect Your App to Google
  1. Share Your Google Sheet:

    • Open the downloaded JSON key file and copy the client_email address.
    • In your Google Sheet, click the "Share" button and give Editor permissions to that client_email.
  2. Create secrets.toml:

    • In your project folder, create a new folder named .streamlit.
    • Inside it, create a file named secrets.toml.
    • Populate it with your credentials as shown below. Remember to convert your service account JSON to TOML format (replace colons with equals signs, remove commas, etc.).
    # .streamlit/secrets.toml
    
    GSHEET_NAME = "Your Google Sheet File Name"
    GEMINI_API_KEY = "your_newly_created_api_key"
    
    [gcp_service_account]
    type = "service_account"
    project_id = "your-gcp-project-id"
    private_key_id = "your-private-key-id"
    private_key = "-----BEGIN PRIVATE KEY-----\\n...your-private-key...\\n-----END PRIVATE KEY-----\\n"
    client_email = "your-service-account-email@..."
    client_id = "your-client-id"
    auth_uri = "[https://accounts.google.com/o/oauth2/auth](https://accounts.google.com/o/oauth2/auth)"
    token_uri = "[https://oauth2.googleapis.com/token](https://oauth2.googleapis.com/token)"
    auth_provider_x509_cert_url = "[https://www.googleapis.com/oauth2/v1/certs](https://www.googleapis.com/oauth2/v1/certs)"
    client_x509_cert_url = "https://..."
    universe_domain = "googleapis.com"
▶️ Step 4: Run the Application
  1. Install Dependencies:
    • Create a requirements.txt file with the following content:
    streamlit
    gspread
    pandas
    google-oauth2-service-account
    requests
    
    • Install them using pip: pip install -r requirements.txt
  2. Run the App:
    • Open your terminal, navigate to your project folder, and run:
    streamlit run app.py

About

An intelligent job application tracker built with Streamlit and powered by the Gemini API. Update your job search progress in a Google Sheet using natural language.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages