Raj Chhapariya
Work
AboutWritingResumeContactGitHub
Raj Chhapariya•© 2026•Bengaluru, India•Privacy
GitHubX (Twitter)LinkedInEmail
All Selected Work
Founder & Full-Stack Developer·Jul 2026 – Present

Resume Roaster

AI-powered resume optimization platform with spatial ATS parsing, zero-duplicate action verb rewriting, and ATS-safe PDF generation.

Next.jsTypeScriptSupabaseOpenAI APITailwind CSSRazorpay
Live Site ↗
Private / Proprietary Codebase

Executive Summary // 30-Second Recruiter Brief

100% Empirically Verified · Zero Fabrication
01The Engineering Friction

Job seekers frequently encounter resume parsing failures in Applicant Tracking Systems (ATS) due to non-standard spatial layouts, repetitive action verbs, and unquantified bullet accomplishments.

02The Architectural Solution

Built Resume Roaster (atsroast.com) — a full-stack platform leveraging Next.js 15 App Router, TypeScript, Supabase (PostgreSQL, RLS), OpenAI API (GPT-4o structured JSON schemas), Razorpay payments, Brevo transactional emails, and Vercel Cron orchestrator.

Measured Benchmark Performance
Live Production SaaSProduction StatusDeployed and active at atsroast.com
4 ModulesCore CapabilitiesSpatial PDF Parser, Zero-Duplicate Bullet Rewriter, Cover Letter Generator, PDF Builder
Vercel Cron + SupabaseInfrastructureAutomated nightly storage cleanup, trending skills analysis, and Telegram alerts
Demonstrated Engineering CaliberProduction Full-Stack SaaS Architecture, Row-Level Security, IP Rate Limiting, and Automated Cron Ops

1. Problem Formulation & Motivation

Job seekers frequently encounter resume parsing failures in Applicant Tracking Systems (ATS) due to non-standard spatial layouts, repetitive action verbs, and unquantified bullet accomplishments.

To build a production web application providing objective resume critique, spatial ATS parsing diagnosis, constrained bullet rewriting, and ATS-safe PDF export.

2. Approach & System Solution

Built Resume Roaster (atsroast.com) — a full-stack platform leveraging Next.js 15 App Router, TypeScript, Supabase (PostgreSQL, RLS), OpenAI API (GPT-4o structured JSON schemas), Razorpay payments, Brevo transactional emails, and Vercel Cron orchestrator.

3. Architecture & Execution Pipeline

Full-stack Next.js production architecture with Supabase database, OpenAI structured JSON completions, and scheduled Vercel cron jobs.

Resume Roaster — Topology

Interactive Visual Data Pipeline · Click any stage to inspect execution state

6 Pipeline Stages
Pipeline Topology FlowStage 1 of 6 Selected
STAGE 01 INSPECTION:Web Application
Client / Interface

Next.js 15 interface with instant heuristic scoring and real-time bullet editor.

Execution Data Flow Sequence

6 Steps
  1. 1User uploads a resume PDF; spatial parser extracts text and checks layout compatibility.
  2. 2Client-side evaluator computes instant heuristic strength scores for action verbs and metric density.
  3. 3User initiates AI optimization; Next.js Server Action validates user quota in Supabase.
  4. 4GPT-4o processes bullet points with strict JSON schemas enforcing zero duplicate action verbs.
  5. 5User exports ATS-optimized resume PDFs via @react-pdf/renderer.
  6. 6Nightly Vercel Cron executes storage bucket cleanup, aggregates trending skills, and dispatches a metrics summary to Telegram.

4. Engineering Decisions & Trade-Offs

Decision 01

Strict Action Verb Diversity Constraint

Rationale: Repetitive verbs (e.g. using "Managed" or "Developed" 5 times) degrade ATS readability. Enforcing a zero-duplicate verb algorithm forces diverse, impactful vocabulary.
Trade-off evaluated: Requires strict JSON schema validation and prompt guardrails to prevent synonym exhaustion on long resumes.
Decision 02

Vercel Cron Orchestration with Telegram Alerting

Rationale: Automates nightly storage cleanup of processed PDFs and provides immediate visibility into daily scans and error rates without external monitoring infrastructure.
Trade-off evaluated: Subject to Vercel serverless execution timeout limits (handled via batched processing).

5. Implementation Snippet

src/lib/roaster/heuristics.tstypescript
export interface BulletAuditResult {
  hasActionVerb: boolean
  hasQuantifiedMetric: boolean
  isLengthOptimal: boolean
  suggestedImprovement?: string
}

export function auditBulletStrength(bullet: string): BulletAuditResult {
  const clean = bullet.trim()
  const hasMetric = /\d+%|\$\d+|\d+x|\b\d+\b\s*(?:users|clients|ms|s|hours|days|engineers)/i.test(clean)
  const startsWithStrongVerb = /^(?:Built|Engineered|Architected|Spearheaded|Reduced|Optimized|Deployed|Designed|Automated|Scaled)\b/i.test(clean)
  const wordCount = clean.split(/\s+/).length
  const isLengthOptimal = wordCount >= 10 && wordCount <= 25

  return {
    hasActionVerb: startsWithStrongVerb,
    hasQuantifiedMetric: hasMetric,
    isLengthOptimal,
    suggestedImprovement: !hasMetric ? "Quantify the outcome with a specific metric (e.g. %, scale, time saved)." : undefined
  }
}
Note: Heuristic evaluation utility used for instant client-side bullet strength scoring prior to model invocation.
Interactive Runtime Trace // Proof of Work
Execution Time: 85ms
$curl -X POST /api/scan -H "Authorization: Bearer session_token"
01$ Inbound resume analysis request received...
02Checking IP rate limits in public.rate_limits table...
03Authenticating user against Supabase Auth & public.orders...
04✓ Row Level Security (RLS) check passed: user_email matches active session
05Validating scan quota: 1 scan remaining in paid credit tier
06✓ Quota verified: Processing PDF buffer
Grounded in verified local test logs✓ 100% Deterministic Replay

6. Evaluation & Measured Results

Engineered as a full-stack SaaS platform deployed on Vercel with active users, Supabase backend, OpenAI structured outputs, and Razorpay payment integration.

Live Production SaaS
Production Status

Deployed and active at atsroast.com

4 Modules
Core Capabilities

Spatial PDF Parser, Zero-Duplicate Bullet Rewriter, Cover Letter Generator, PDF Builder

Vercel Cron + Supabase
Infrastructure

Automated nightly storage cleanup, trending skills analysis, and Telegram alerts

7. Limitations & Production Considerations

  • •Spatial text extraction with pdf-parse is limited on complex multi-column graphic resumes with embedded canvas elements.
  • •API rate limits on LLM generation require strict user quota management in Supabase.
Deep Dive Literature

Related Technical Essays

Aug 22, 2026

Next.js 16 App Router Architecture: Server Components, Streaming SSR, and Static Site Generation

The transition to React Server Components fundamentally altered how web applications manage state, bundle boundaries, and data fetching. This deep-dive examines Next.js 16 App Router mechanics, Partial Prerendering, RSC serialization contracts, and cache revalidation strategies.

Read Full Research Essay
Previous Case StudyAI Data Analyst AgentNext Case Study Satta Darshan