all projects
AI8 July 2026Live

Applyable

A job-application platform that tailors your real resume to each job ad, scores it against ATS keyword matching with pure maths (no AI guesswork), drafts a cover letter and outreach email, and finds the right recruiter to send it to.

Next.jsTypeScriptClerkshadcn/uiFastAPIPythonSupabasePostgreSQLGeminiLaTeX
view live ↗

Overview

Applyable takes your real resume and reshapes it — never rewrites it from scratch — to mirror the language of each job ad you apply to. It scores the result against an ATS keyword model, drafts a matching cover letter and recruiter outreach email, and tracks every application on a dashboard.

Students sign in with Google or email, keep a dynamic profile (skills, experience, projects, education), and generate a fresh, tailored application per job in minutes instead of hours.

Two Deployables

Frontend — Next.js App Router with Clerk auth and a shadcn UI. Talks to Supabase directly for all CRUD (profile, jobs, analytics) using the signed-in user's own token, and only calls the backend for generation and recruiter research.

Backend — FastAPI. Handles the heavy server-side work: Gemini-based tailoring, the ATS optimisation loop, LaTeX-to-PDF compilation, company research, and the recruiter/email finder. Verifies the Clerk JWT on every request.

Data and generated files live in Supabase — Postgres with row-level security, plus a private Storage bucket for the compiled PDFs.

How AI Is Used — Kept Cheap on Purpose

Resume tailoring

Never generated from scratch. Your LaTeX template and your real profile are the source of truth — Gemini only reorders and rephrases existing content to mirror the job ad's keywords.

ATS scoring

Pure maths — weighted keyword coverage and cosine similarity, plus format checks. No AI in the loop, so it's free and deterministic.

Cover letter + outreach email

Gemini writes these — the one place generation genuinely earns its keep.

Recruiter email discovery

A waterfall: cache lookup, then a free MX/SMTP pattern probe, then Gemini grounded search as a last resort. Verified patterns are cached in a shared table, so once one student resolves a company, every student benefits.

Product Surface

Dashboard

Application analytics — totals, status breakdown, average ATS score, response rate, recent activity.

Job tracker

List view with inline status, a generation form for new applications, and a detail page with ATS breakdown, recruiter contact, outreach email, and PDF downloads.

Profile editor

Fully dynamic — basics, skills, experience, projects, education, certifications, and personal attributes.

Stack

Next.js + TypeScript

Frontend app, direct Supabase CRUD, Clerk-authenticated

shadcn/ui

Component library for the dashboard and forms

FastAPI (Python)

Server-side generation, ATS scoring, and recruiter research

Supabase (Postgres + RLS)

Data store and private file storage, with Clerk as a third-party auth provider

Gemini

Resume tailoring, cover letter and outreach drafting, grounded recruiter search

LaTeX (Tectonic)

Resume template compiled to PDF server-side

back to all projects