← Projects
ResumeAI Builder
An AI-assisted resume builder with a live PDF preview and honest, reviewable
suggestions.
ResumeAI is a Next.js and Supabase application for writing and refining resumes.
Users sign in with Google, edit their resume section by section, and watch a paginated PDF
preview update as they type. Changes save automatically, and the same document renders the
downloadable PDF with selectable text and clickable links.
AI features run on the server through the Gemini API. Reviews score every resume
section, compare the resume with an optional job description, and suggest edits that are only
applied after the user accepts them one at a time.
Next.js
TypeScript
Supabase Auth
Row Level Security
Gemini API
Playwright
What's included
- Google sign-in through Supabase, plus a no-account preview workspace with sample data.
- Section-by-section editor with autosave, section reordering and visibility, and A4 or US
Letter output.
- Ten resume formats, from a single-column ATS layout to skills-first, technical, and
entry-level designs.
- Live paginated PDF preview and text-based PDF export with selectable text.
- AI resume reviews, job-match suggestions, and writing improvements that users approve one at
a time.
- Local PDF and DOCX import and an ATS readability check.
Database and security
The Supabase schema stores profiles, resumes, AI review records, usage tracking,
and subscription plans. Row Level Security keeps each user limited to their own
data, while database functions enforce saved-resume caps, reserve AI usage atomically, and refund
failed requests. API routes verify the signed-in user and check the request origin on every
change, and AI and service keys stay on the server.
Project preview
The preview shows the public landing page: the main call to action, template links, and a sample
resume rendered in the ATS-friendly format.
Project role
Built as a full-stack AI product demo covering authentication, database policies
and quotas, server-side AI integration, PDF generation, and browser testing with Playwright.