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
Connect Gmail
Bring job-related communication into the ingestion pipeline.
Organize the activity
Classify updates and surface ambiguous messages for review.
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.
ReactServices and workers
Process and classify updates in the background.
FastAPI and Redis queuesAuthoritative records
Keep workflow records within access boundaries.
PostgreSQLKeep 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.
ReactServices and workers
Process and classify updates in the background.
FastAPI and Redis queuesAuthoritative records
Keep workflow records within access boundaries.
PostgreSQLJAICE 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.