JAICE

A job search with a clearer picture.

One workspace for applications, email updates, resumes, and reviewable AI assistance.

Platform
Web App
Scope
Full-stack
Team
Small Team
Status
Complete
Started
Sep 1, 2025

Project context

The modern job search is spread across dozens of platforms, each maintaining its own timeline, status updates, and communication channels.

Candidates are often left piecing together their application history from emails, hiring portals, spreadsheets, and memory, making it difficult to understand where they stand or what requires attention.

The challenge

  • Updates scattered across portals and email
  • Follow-ups and progress hard to track

The approach

  • Email activity becomes a shared application record
  • Boards, resumes, and analytics stay connected

From intent to interaction

  1. Connect Gmail

    Bring job-related communication into the ingestion pipeline.

  2. Organize the activity

    Classify updates and surface ambiguous messages for review.

  3. Act on the whole picture

    Track stages, review history, and decide what needs attention.

What it makes possible

Track the search

Keep applications, updates, and stage history in one place.

Review incoming updates

Review incoming activity while classification runs.

Keep the context together

Connect resumes, follow-ups, and analytics to each application.

How the pieces fit

Application workspace

Connect boards, resumes, and application history.

React

Services and workers

Process and classify updates in the background.

FastAPI and Redis queues

Authoritative records

Keep workflow records within access boundaries.

PostgreSQL

Keep incoming work visible

Show incoming updates while classification continues in the background.

Use AI for ambiguity

Use rules for clear cases and local AI for ambiguous messages.

Engineering notebook

Explore the design, data flow, and implementation in more detail.

Application workspace

Connect boards, resumes, and application history.

React

Services and workers

Process and classify updates in the background.

FastAPI and Redis queues

Authoritative records

Keep workflow records within access boundaries.

PostgreSQL

JAICE was built to create a single source of truth for the job search.

Instead of forcing users to track opportunities across multiple platforms, the system uses email as a central communication layer to organize applications, updates, interviews, and hiring activity into a unified workspace.

The goal is not simply to automate tracking, but to provide clear visibility into the entire application lifecycle so users can focus on decisions rather than administration.

Implementation

JAICE is built as a multi-service application that centralizes the job search lifecycle around a single source of truth. A React frontend provides the user experience, while FastAPI coordinates application logic, Gmail integration, analytics, resume tooling, and AI-assisted workflows.

Background workers handle email ingestion and classification asynchronously, allowing new opportunities to appear immediately while processing continues behind the scenes. PostgreSQL serves as the authoritative data store, ensuring application history, resumes, analytics, and workflow state remain synchronized across the platform.

Rather than optimizing for automation alone, the architecture is designed to keep users informed about how information enters, moves through, and ultimately affects their job search.

Connect Gmail

Bring job-related email into the ingestion pipeline.

Organize the activity

Classify updates and surface ambiguity for review.

Act on the whole picture

Review stages and history to decide what comes next.

Users connect Gmail and allow JAICE to monitor job-related communication.

Incoming emails are reviewed, organized, and surfaced through a centralized dashboard where users can immediately see new activity, track application progress, review previous conversations, and identify opportunities that may require follow-up.

As the search continues, resume management, analytics, and application history remain connected to the same workflow, creating a persistent record that extends beyond a single hiring cycle.

Implementation

When a user connects Gmail, JAICE establishes an ingestion pipeline that continuously monitors job-related communication. Incoming messages are retrieved, normalized, encrypted, and staged before entering the classification workflow.

Deterministic rules evaluate relevance and lifecycle status first. Only ambiguous messages are escalated to local AI inference. During processing, users can already see incoming items on the board, making the workflow transparent rather than hiding activity behind background automation.

Once classified, opportunities move into their appropriate stages and become available for analytics, resume workflows, follow-up decisions, and long-term tracking.

Work off the request path

Run ingestion and classification in background queues.

Enforce ownership twice

Check ownership in the application and database.

Synchronize from saved state

Notify clients when authoritative records change.

JAICE is built around visibility, transparency, and user control.

While automation helps reduce manual work, the system is designed to keep users informed about how information is processed, classified, and organized. Rather than hiding uncertainty behind automation, JAICE surfaces ambiguity and encourages review when confidence is limited.

This approach helps ensure users remain informed participants in the process rather than passive observers of automated decisions.

Implementation

The platform combines a FastAPI backend, React frontend, PostgreSQL data layer, Redis-backed task queues, and specialized worker services responsible for ingestion, classification, and synchronization.

User identity is managed through Firebase Authentication, while ownership boundaries are enforced through application-level authorization and database-level security policies. Real-time updates notify clients when application data changes, allowing dashboards and boards to remain synchronized with the authoritative database state.

The architecture favors reliability and traceability over aggressive client-side assumptions, ensuring users always interact with verified application data rather than temporary local state.

Gmail Ingestion Pipeline

Synchronize Gmail, extract and encrypt content, then stage structured application records.

Rules-First Classification

Classify clear messages with rules and send only uncertain cases to local AI.

Visible Processing Workflow

Create visible placeholders while classification and validation continue in the background.

Resume Intelligence Platform

Version resumes, generate PDFs, and offer reviewable feedback without automatic edits.

Analytics & Lifecycle Tracking

Aggregate application history and stage changes into search-performance reports.

Centralize application activity

Bring job-related updates from multiple hiring platforms into a single workspace, eliminating the need to monitor dozens of independent dashboards.

Track application progress

Follow opportunities through each stage of the hiring process, from initial application to interview, offer, rejection, archive, or review.

Stay on top of follow-ups

Review past communication, identify stalled opportunities, and determine when additional action may be required.

Manage resumes in one place

Create, organize, and maintain multiple resume versions while tailoring materials for different opportunities and industries.

Understand job search performance

Analyze application volume, response rates, stage progression, and hiring trends to better understand search effectiveness over time.

Implementation
Gmail Ingestion Pipeline

Combines Gmail synchronization, Pub/Sub notifications, content extraction, encryption, and staging workflows to transform incoming messages into structured application records.

Rules-First Classification

Uses deterministic relevance and lifecycle rules as the primary classification mechanism, escalating only uncertain cases to local AI inference.

Visible Processing Workflow

Creates application placeholders immediately so users can see incoming activity while classification and validation continue asynchronously.

Resume Intelligence Platform

Supports structured resume versioning, PDF generation, AI-assisted feedback, and reviewable content improvements without automatically altering user content.

Analytics & Lifecycle Tracking

Aggregates application history, stage transitions, activity patterns, and hiring metrics into a unified reporting system designed to help users understand search performance over time.

Have a related challenge?
Let’s talk about it.

Bring an idea, a workflow to improve, or a technical question. We can work through what comes next.