Skip to main content
    AI Product · Careers

    Turning Job Discovery Into a Review-Ready Application, One User at a Time

    Search, match, and generate a tailored résumé, cover letter and Gmail draft for every job, with the user in control of what gets sent.

    This is a personalized job-search and application-preparation platform built around each individual user's account, profile and decisions. It is deliberately not an auto-apply bot working from a shared candidate pool: every workflow begins with an authenticated user, and the platform never chooses jobs or sends applications without approval. I shaped the product around one idea: automate the repetitive work between finding a job and preparing a personalized application, while leaving selection and sending entirely with the person applying.

    Illustration of the platform workflow: a job seeker signing in with Google, an aggregated job list with profile-match percentages, an AI generation step producing a tailored résumé, cover letter and email, and a Gmail draft the user reviews before sending.

    Image generated with AI

    This case study describes the product design and workflow. Credit amounts (50 free per day) reflect the product's stated model; conversion, acceptance and interview outcomes depend on employers and are not claimed here.

    Role

    AI Product Manager

    Auth

    Google Sign-InGmail integration

    AI

    Résumé generationCover-letter generationApplication-email generationProfile-job matching

    Data

    Per-user profile (source of truth)User-level data separationApplication tracker

    Control

    Human-in-the-loopManual job selectionDraft, never auto-send

    Stack

    ReactNode.jsSupabaseVercel

    Monetization

    Free discoveryCredit-gated generation50 free credits per dayPaid leverage, not paid discovery

    01 Context & Problem

    Applying for jobs is mostly repetition. For every opening, a candidate rewrites the same résumé to match the role, drafts a fresh cover letter, and composes an application email, then does it again for the next job. The work between finding a role and being ready to send a tailored application is slow, manual and easy to cut corners on, which is exactly where good candidates lose momentum.

    A common answer is the auto-apply bot: a tool that sits on a shared candidate pool and fires applications at listings on the user's behalf. That trades control for volume and often sends generic, low-quality applications the person never reviewed. This platform takes the opposite stance. There is no candidate pool an employer draws from, and the platform does not choose jobs or send anything automatically. Every action runs inside one authenticated user's account, and the person stays in charge of which jobs to pursue and what actually gets sent. The problem to solve was narrow and real: remove the repetitive preparation work without removing the applicant's judgement.

    02 Role & Constraints

    As AI Product Manager I owned the product end to end: the workflow from sign-in to a sent application, the profile model that feeds every generation, the per-job matching and generation logic, the credit and monetization model, the Gmail draft integration, and the guardrails around what the AI may and may not do. A large part of the work was scoping where AI belongs. The AI handles the repetitive preparation, matching a job to the user's profile and drafting a résumé, cover letter and email, while the human keeps every decision that matters: which role to search for, which jobs to select, whether to generate, what content to include, and whether to send.

    The constraints were deliberate. Human-in-the-loop is non-negotiable: the platform prepares a Gmail draft and never sends it automatically, so the applicant always reviews and clicks Send. The AI may only use information the user supplied or approved; it must never invent qualifications, employment history, skills, certifications, achievements or metrics, and must not add skills just to inflate keyword overlap. Each user's data is strictly separated: a user only ever touches their own profile, searches, selected jobs, generated documents, Gmail drafts, credits and tracked applications, never anyone else's. And because generation costs money to run, the cost had to be transparent: the user should see the credit price of an action before the AI starts.

    03 Product Approach

    The product splits into two layers around one authenticated account: free discovery and paid preparation. Discovery is free so users can explore without friction. After signing in with Google, the user builds an individual profile, name and contact details, target roles, professional summary, experience, education, skills, certifications, projects and existing résumé, which becomes the user-specific source of truth for everything downstream. They then search for a role, the platform aggregates matching openings from a source pool of third-party job-portal integrations into one result set, and each job is scored against that user's profile with a match percentage to help them prioritize.

    Preparation is where the AI does the repetitive work, and where credits apply. The user manually selects the jobs worth pursuing and clicks Apply Now on each. For every selected job, the platform generates a separate, tailored package: a résumé draft aligned to that job description, a cover letter for that role and employer, and a customized application email, so two applications from the same user can differ because each is built for a different opportunity. It then uses the user's Gmail integration to assemble a draft, a job-specific subject, the application email as the body, and the résumé and cover letter attached, and saves it as a draft. It does not send. The user opens the draft in Gmail, reviews the employer, role, recipient, subject, body and attachments, edits anything, and manually clicks Send. Once sent or marked applied, it lands in that user's application tracker.

    Generation is gated by credits so the economics match the value: discovery stays free, and the computationally expensive preparation is what users pay for. Each user gets a daily free-credit allowance to try or continue the workflow; when it runs out, they can purchase more. The interface shows the credit cost before generation begins, so the user understands the price before invoking the AI.

    The reframe

    Most job tools optimize for either volume (auto-apply bots that spray generic applications) or discovery (job boards that stop at the listing). This platform optimizes for the gap in between: it removes the repetitive preparation for each selected job, résumé, cover letter and email, while keeping the applicant in control of selection and sending. The AI does the drafting; the human keeps the judgement.

    04 Features Built

    Google authentication

    Users create and access their account through Google sign-in, which also enables the Gmail draft workflow.

    User-specific profile

    A structured profile (roles, summary, experience, skills, projects, résumé) becomes the user's single source of truth.

    Role-based job search

    The user searches a target role; the platform aggregates matching openings from a Source Pool of third-party job portals, and more integrations can be added.

    Profile-match percentage

    Each job is scored against the signed-in user's profile, per user and per job, to help prioritize, not to rank candidates.

    Manual job selection

    The user reviews listings and chooses which jobs to pursue, clicking Apply Now to begin preparation.

    Per-application résumé

    Every selected job gets its own résumé draft, aligned to that specific job description.

    Per-application cover letter

    A separate cover letter is generated for each job, based on the role, employer and requirements.

    Per-application email

    A customized application email is prepared for each job rather than one generic message reused everywhere.

    Gmail draft creation

    The email, résumé and cover letter are assembled into a Gmail draft. It is saved, never sent automatically.

    Application tracking

    Once sent or marked applied, the job is added to that user's own application pipeline.

    Credit-based generation

    AI preparation runs on credits: 50 free per day, with a top-up purchase when the daily allowance is spent.

    Credit transparency

    Cost, current balance, remaining balance and refund behavior are shown before any generation begins.

    Also shipped or planned: the per-user profile as a reusable source of truth across applications, aggregation of jobs from a growing Source Pool of third-party job-portal integrations into one result set, strict user-level data separation, a daily free-credit allowance with a top-up purchase flow, and pre-generation credit transparency so the cost is visible before the AI runs.

    05 Architecture

    One authenticated account ties everything together. An individual job seeker signs in with Google, which both authenticates them and enables the later Gmail draft workflow. From there, two paths run inside their account: a free discovery path, profile plus role-based search across a Source Pool of third-party job-portal integrations, aggregated into results that are scored against the user's profile into match percentages, and a paid preparation path that begins only when the user selects a job and clicks Apply Now.

    Job SeekerAuthenticated userGoogle Sign-InAuthenticated AccountFree discoveryUser ProfileSource of truthRole-Based SearchQueries the poolQueriesSource Pool · 3rd-party portalsJob boardsAggregatorsCompany sitesATS feedsExtensible: add more portalsProfileAggregated jobsJobs with Match %Per user · per jobUser selects a jobApply NowManual selectionPaid preparation · creditsCredit CheckEnough credits?Purchase CreditsTop upNoCredits addedYes · deduct creditsAI Application GenerationUses profile + job descriptionRésumé DraftCover Letter DraftApplication EmailAssembledGmail DraftRésumé & cover attachedReview draftUser Reviews & SendsManual SendApplication TrackerUser's pipelineUser clicks Send

    The Apply Now workflow first checks credits. If the balance is short, the user is routed to purchase; if it is sufficient, the required credits are deducted and generation begins. The AI generation step takes the user's profile and the selected job description and produces three tailored drafts, a résumé, a cover letter and an application email, which flow into the user's Gmail as a single draft with the documents attached. The user reviews and edits the draft, manually clicks Send, and the application is recorded in their tracker. Two design lines run through the whole system: human-in-the-loop, so the AI drafts but the user always sends, and per-user isolation, so profiles, searches, generated documents, Gmail drafts, credits and tracked applications belong to one account and are never shared into a common candidate pool. The stack stays deliberately boring so the moving parts remain legible: a React front end, a Node.js backend, Supabase for data, and Vercel for hosting. The Source Pool is built to grow: each new third-party job-portal integration plugs into the same aggregation and scoring path, so adding a portal widens coverage without changing the workflow.

    06 Monetization & Credits

    The platform separates free discovery from credit-based application generation, so the monetization follows the value: users can find and evaluate opportunities for free, and pay only for the computationally intensive preparation. Free functionality covers creating an account, building a profile, searching and aggregating jobs, reviewing descriptions, viewing match percentages, and selecting jobs for consideration. Credits are consumed by the AI-assisted work, résumé, cover-letter and application-email generation and the Gmail draft assembly, and each user gets 50 free credits per day to keep the workflow usable before buying a paid package. When the daily allowance is spent, the user tops up to continue. Crucially, the cost is shown before generation: current balance, credits required, remaining balance, which outputs are included, refund behavior on failed generations, when daily credits reset, and whether edits or regeneration cost more, so the user always understands the price before invoking the AI. The result is a paid-leverage model rather than paid-discovery: users discover freely and pay to prepare at scale.

    Free discovery layer

    Account creation, profile building, search, aggregation, match visibility and job selection, all without spending credits.

    Paid preparation layer

    Credits fund résumé, cover-letter and email generation and Gmail draft assembly, the computationally intensive work.

    Daily free-credit allowance

    Each user gets 50 free credits per day to try or continue the generation workflow before buying a package.

    Pre-generation transparency

    Balance, credits required, remaining after generation, refunds and reset timing are shown before the AI runs.

    Top-up purchase flow

    When the daily allowance runs out, the user purchases additional credits to keep preparing applications.

    07 AI Decisioning Layer

    The AI layer operates for one authenticated user and one selected job at a time; it never compares applicants against a shared pool. It works through a short sequence of decisions. How closely does this job match the user? It compares the job description with the signed-in user's profile to produce a user-specific match percentage and, ideally, an explanation, matching skills and experience, role terminology, missing or unconfirmed requirements, location and experience-level fit. Which verified information belongs in the résumé? It pulls relevant facts from the user's own profile and résumé data and decides what is most useful for this job, using only candidate-provided information. How should the résumé be customized? It can adapt summary wording, skill ordering, experience emphasis, project selection, achievement ordering, terminology and section priority, without adding skills merely to increase keyword overlap. What should the cover letter emphasize, and what should the email contain? It connects the user's verified experience to the employer's requirements for that specific role, and prepares a concise, professional email. And can generation begin? Before anything runs, it checks the credit balance, deducts if sufficient, or routes the user to purchase.

    What the AI drafts, and what it never does

    The AI prepares; it does not decide or fabricate. It only uses information the user supplied or approved, and never invents qualifications, employment history, skills, certifications, achievements or metrics, or pads a résumé with skills just to game keyword overlap. It also never selects jobs or sends applications: it drafts a résumé, cover letter and Gmail email for a job the user chose, and the user reviews, edits and clicks Send.

    08 Status & Outcome

    The result is a per-user workflow that moves a job seeker from discovery to a review-ready application inside one authenticated account. After signing in with Google, users search roles across integrated sources, compare each opening against their own profile with a match percentage, and manually select the jobs they want to pursue. For every selected job, the platform spends credits to generate a tailored résumé, cover letter and application email, assembles them into a Gmail draft, and leaves final review and sending entirely with the user. This supports much higher application volume without turning the experience into uncontrolled automatic submission: the person applies to more jobs, faster, but every application is theirs, reviewed and sent by them. The monetization holds the same line, free discovery, a daily free-credit allowance, and paid generation for the heavy preparation, so the value the user pays for is leverage on the repetitive work, not access to the job market itself.

    3

    Tailored documents per selected job (résumé, cover letter, email)

    50

    Free credits per user, every day

    0

    Applications sent without the user's approval

    1:1

    Match score per user, per job (never candidate ranking)

    09 Reflection / What's Next

    What is already built holds the core promise. A reusable per-user profile acts as the source of truth; Google sign-in gates every session; a role-based search runs over an extensible Source Pool of third-party job portals; each job carries a per-user match percentage; the user manually selects what to pursue; and for every selected job the platform generates a tailored résumé, cover letter and application email that land in a Gmail draft the user reviews and sends. The guardrails are in place too: the AI only ever uses candidate-provided facts, each user's data is isolated, credits gate the AI work with 50 free per day, and the credit cost is shown before generation begins. The monetization is honest, users discover for free and pay for leverage, not for a listing.

    What I would strengthen next builds on that base: make credit transparency richer and unmissable (cost per action, refund on failed generation, whether edits or regeneration cost more, when the daily 50 reset), so no generation ever surprises a user on price; add match explanations that clearly separate confirmed strengths from missing or unconfirmed requirements, so the score is actionable rather than a number; make the candidate-provided-facts guardrail visible with clear provenance on every generated line; widen the Source Pool with more portal integrations; and deepen the application tracker into a genuine pipeline. The lasting idea is a job-search assistant that does the repetitive preparation at scale while the applicant keeps every decision that carries their name.

    Chat on WhatsApp