Back to Projects

Software Projects

AI Job Application Co-Pilot

A local Streamlit application for preparing and tracking job applications without automating submission. It uses service-oriented Python modules for profile validation and migration, job discovery and ranking, OpenAI-assisted generation, SQLite-backed tracking and analytics, LaTeX exports, and human approval checkpoints before application status changes.

Tech Stack

PythonStreamlitSQLiteOpenAI APIpytestLaTeX

Problem / Challenge

Job-application preparation involves managing factual candidate data, discovering suitable opportunities, tailoring materials, and tracking progress without automating or overstating a candidate's information.

Approach

The application separates Streamlit UI concerns from services for configuration, profiles, job discovery, LLM requests, tracking, analytics, and exports. SQLite repositories store applications and discovered jobs, while the OpenAI client applies configurable retries, caching, and fallback handling. Human approval gates remain in the workflow before an application can be marked ready or submitted.

Key Features

  • Service-oriented modules for profile handling, discovery, generation, tracking, and analytics
  • SQLite persistence with indexed application and job-discovery data
  • Job discovery, ranking, saved searches, and local job alerts
  • OpenAI integration with response caching, retries, and JSON-mode fallback behavior
  • Profile validation, migration, factual enrichment suggestions, and LaTeX export
  • Human approval workflow and pytest coverage configured with an 80% threshold

Outcome

A documented local application with tests, structured services, persistence, analytics, and safety-oriented workflow boundaries. No public deployment is claimed.

What I Learned

  • How service-oriented modules make a larger Python application easier to test and evolve
  • How SQLite indexes and repositories support local workflow and analytics features
  • How retries, caching, and validation improve reliability around external AI requests
  • How explicit human approval can keep AI-assisted workflows truthful and controlled