Refactr
Personal Project
Full-Stack AI Engineer · Fall 2025 – Present · Remote
Overview
Refactr is a resume-tailoring platform built as three loosely coupled pieces: a Next.js web app, a Manifest V3 Chrome extension, and a stateless FastAPI backend. Users upload a resume once and either tailor it against a job description or reformat it into a clean, ATS-friendly PDF — either in the web app or straight from a job posting via the extension, which shares the same Supabase-backed auth and storage so signing in once logs you in everywhere. The tailoring pipeline runs as five discrete stages — Parse, Classify, Generate, Verify, and Lock — so job parsing, domain classification, content rewriting, and factual accuracy checks are each handled by a dedicated, testable step rather than one monolithic prompt.
Challenge
Job seekers spend countless hours manually editing resumes for each application, often missing critical keywords and failing to optimize content for ATS systems. Existing AI resume tools also risk a subtler failure: letting a model quietly invent skills or experience the candidate doesn't have. There was a need for a solution that could tailor a resume to match a job in seconds, work directly on the job boards people already use, and guarantee it never fabricates content — all without giving up structure, formatting, or factual accuracy.
Solution
Built Refactr as three coordinated pieces kept deliberately loosely coupled: a Next.js/React web app and a Chrome extension that both talk to Supabase directly for auth and storage (protected by row-level security scoped to auth.uid()), and a fully stateless FastAPI backend that never sees a service-role key and only ever handles parsing, tailoring, reformatting, and PDF rendering. The tailoring pipeline parses the resume and job description concurrently via OpenAI structured-outputs calls bound to Pydantic schemas, classifies the job's industry in the same call as parsing, generates rewritten bullets using domain-specific prompt guidance, verifies every tailored bullet against the job's required skills (rewriting or reverting any bullet that introduces a skill not present in the original resume), and locks company, title, dates, and locations in code so they can never drift from the source resume. Every stage is timed and surfaced via an X-Pipeline-Timings header for observability. Deployed the frontend on Vercel and the backend on Render, with the extension distributed via Chrome's Manifest V3.
Key Features
Chrome extension (Manifest V3) that auto-appears on job postings and tailors a saved resume without leaving the tab
Shared Supabase-backed identity — sign in once on the web app, stay signed in on the extension
Five-stage tailoring pipeline: Parse, Classify, Generate, Verify, and Lock, each a discrete, testable step
Verification stage that checks every tailored bullet against the job's required skills and reverts any hallucinated skill
Locked fields — company, title, dates, and locations are enforced in code and can never be rewritten by the model
Reformat mode that produces an ATS-friendly PDF with zero content rewriting — bullets preserved verbatim
Two resume templates, including a Technical Skills layout with categorized skill sections
Dashboard with current resume, resume history, and job-application stats
Per-request pipeline timing surfaced via an X-Pipeline-Timings response header for observability
Results & Impact
Shipped a Chrome extension that auto-detects job postings on LinkedIn, Indeed, Glassdoor, and Handshake and tailors a saved resume against the page without leaving the tab
Designed a five-stage tailoring pipeline (Parse, Classify, Generate, Verify, Lock) that catches and corrects any AI-introduced skill not present in the candidate's actual resume
Unified auth and storage across the web app and extension on Supabase with row-level security, so one sign-in works everywhere
Kept the backend fully stateless and credential-free — it never talks to Supabase or holds a service-role key — isolating the tailoring pipeline from auth/storage outages
Built two ATS-friendly resume templates (standard and Technical Skills) with LaTeX-based PDF rendering
Deployed to a custom domain (refactrapp.com) with the frontend on Vercel and backend on Render