Chirag Rohit — AI Engineer
All Projects

Resume Tweak

Upload your resume once. Tailor it to any job in minutes.

SvelteKitSvelte 5ConvexCloudflare WorkersCloudflare R2Better AuthOpenRouterTypeScript

Resume Tweak removes the per-application resume rewrite. Users upload a resume once — PDFs parsed with @firecrawl/pdf-inspector, DOCX with mammoth — into a versioned base-resume library with structured sections. Job descriptions go into a JD library. A tailor run combines base resume + JD + a reusable tailor template through an OpenRouter LLM and produces an editable draft, with tweak helpers and draft history so every application starts from tailored, not blank.

The backend is Convex: typed schema over resumes, baseResumes, sections, jds, tailorTemplates, tweak runs and resume/tweak drafts, with qwen3-embedding-8b vectors for retrieval and @convex-dev/r2 presigned uploads to a private bucket. Auth is Better Auth (SvelteKit handler + sveltekitCookies + Convex plugin) with convex-svelte reactive queries on the client. Deploys to Cloudflare Workers via adapter-cloudflare.

Key Features

One-Time Upload & Parse

PDF and DOCX resumes parsed into structured sections once, stored as versioned base resumes — never re-upload for a new application.

JD Library

Save job descriptions once, reuse across tailor runs. Paste any posting and target it in minutes.

AI Tailor Runs

Base resume + JD + reusable tailor template through an OpenRouter LLM into an editable draft, with tweak helpers and full draft history.

Tailor Templates

Reusable prompting templates encode tailoring strategy (tone, emphasis, ATS hygiene) so every run is consistent.

Retrieval & Uploads

Embedding vectors over resume content for retrieval; private R2 bucket with presigned uploads for source files and previews.

Auth & Edge Deploy

Better Auth sign-in with server-side session handling; ships to Cloudflare Workers with the Convex URL baked at build time.

Architecture & Tech Stack

SvelteKit 5 + adapter-cloudflareFile-based routing and edge deployment to Workers (wrangler deploy)
ConvexTyped schema and realtime queries/mutations over resumes, sections, JDs, templates, tweaks and drafts
@convex-dev/r2Presigned uploads to a private R2 bucket with strict CORS allow-listing
Better AuthSvelteKit server hook + sveltekitCookies + Convex plugin for sessions
OpenRouterLLM parse/tweak runs plus qwen3-embedding-8b vectors for retrieval
shadcn-svelte + Tailwind 4UI primitives, forms, and styling consistent with the portfolio family