DEV Community

Gaurav Jain
Gaurav Jain

Posted on

title: How I built an ATS resume scorer with Groq + Gemini fallback (and what's still rough)

I got ATS-rejected a lot, so I built a tool to find out why. This post covers the technical decisions and the mistakes.

Stack: Next.js, Supabase for auth and data, Groq (Llama 3.3) for fast, cheap analysis, and Gemini as a fallback if Groq fails or rate-limits.

What it does: you paste a resume and a job description, and it returns a score across four categories, the missing keywords, and rewritten bullets.

Decision 1: two model providers. A single provider going down means the whole product is down. The fallback costs a few lines of code and removed my biggest failure point.

Decision 2: payments must be idempotent. I grant scan credits from both the client verify step and a Razorpay webhook. Either can arrive first, so the credit logic checks payment status before granting, and a double event can’t give double credits.

What’s rough: you need an account before your first scan, which probably costs me signups. Payments only work in India. I’m weighing Stripe against Dodo Payments for global cards.

Questions for you: Would you scan before signing up? Is a 0-100 score useful, or does it feel arbitrary? Try it at https://getresume-ai.vercel.app and tell me what breaks.

Top comments (0)