← All releases
v3.2.0 — Release

ResuMaxxing — An AI career operating system

next.js · fastapi · openai · postgres · capacitor · clerk resumaxxing.tech ↗
ResuMaxxing UI Preview Banner

ResuMaxxing is a career operating system built for high-velocity resume tailoring, job application tracking, and AI-driven document review. It's a decoupled, client-server architecture designed to move fast without sacrificing the guardrails that matter when AI is touching someone's actual resume. Engineered and shipped end-to-end, solo.

Architecture Overview

The system follows a clean client-server split. The frontend and backend are fully decoupled — they share nothing except an HTTP contract and a JWT token. This means the backend can be scaled, replaced, or load-balanced without touching a line of frontend code, and vice versa.

Client Layer
Next.js App Router with React 19, TypeScript, Tailwind CSS v4, Shadcn UI, and Framer Motion. Zustand manages client-side state. Wrapped in Capacitor to compile the same codebase to native iOS and Android without maintaining separate repositories.
Backend Core
Async FastAPI on Python 3.12 using SQLAlchemy 2.0 with the aiomysql non-blocking driver. Alembic manages versioned schema migrations. Four isolated micro-service routers: User Profile, Resume Engine, Job Tracker, and Billing & Webhooks.
Identity & Auth
Clerk Identity Platform issues JWTs. RSA JWKS public keys are fetched and cached locally once at startup — every subsequent token verification runs at CPU speed locally, never round-tripping to the auth server per request.
AI Infrastructure
GPT-4o and GPT-4o-mini via the OpenAI API, wired to resume tailoring, skill-gap extraction, roast evaluation, and guest bullet optimization. All invocations are wrapped in strict structural and anti-hallucination guardrails.

AI Prompt Engineering & Guardrail Pipeline

Generative AI on a user's resume is a high-stakes operation. A hallucinated skill or fabricated metric on a resume someone submits to an employer is not a minor bug — it's a trust violation. Every model invocation in ResuMaxxing is constrained by a four-layer guardrail system:

Enterprise Billing Architecture

The billing system is event-driven and non-blocking by design. Lemon Squeezy sends signed webhook events on subscription changes. The architecture has three hard requirements: instant acknowledgment, idempotency, and no dead-session bugs.

Security & Privacy

Performance Design

Rate Limiting Matrix

Endpoint Route Limit Strategy
Guest Tailor POST /resumes/guest-tailor 5 / min Public IP rate shield
Guest Roast POST /resumes/guest-roast 5 / min PDF type check + 10MB stream guard
Resume Tailor POST /resumes/generate 10 / min User ID limiter + quota check + IDOR guard
DOCX Export POST /resumes/{id}/export-docx 30 / min Subscription tier verification (premium_1/premium_2)
Job Creation POST /jobs/ 30 / min Input sanitization (sanitize_text, sanitize_url)

Feature → Endpoint Mapping

Feature Endpoint Infrastructure
Guest Bullet Tailoring POST /resumes/guest-tailor GPT-4o-mini, strict 1-to-1 sentence extraction
PDF Resume Roasting POST /resumes/guest-roast pdfplumber text/hyperlink extraction + AI roast engine
Master Resume AI Tailoring POST /resumes/generate GPT-4o + versioning engine (ResumeVersion model)
Technical Skill Gap Analysis POST /resumes/skill-gap Persistent gap engine (SkillGap model, urgency weights)
Job Description URL Extraction POST /jobs/extract-url Async scraper + BeautifulSoup parser
Editable DOCX Export POST /resumes/{id}/export-docx python-docx buffer stream, tier-guarded (premium)

Technology Stack

Layer Technology Purpose
Frontend framework Next.js App Router Server & client components, SSG/SSR hybrid rendering
Mobile runtime Capacitor Native bridging for Android & iOS builds from one codebase
Styling & UI Tailwind CSS v4 + Shadcn UI + Framer Motion Utility-first design system with micro-animations
State management Zustand Lightweight reactive client-side store
Backend framework FastAPI (Python 3.12) High-concurrency async ASGI web server
ORM & database SQLAlchemy 2.0 + Alembic Async database access & versioned migrations via aiomysql
Authentication Clerk Auth Passwordless, OAuth, JWKS JWT decoding with local key cache
AI integration OpenAI API (GPT-4o & GPT-4o-mini) Resume tailoring, roasting, skill gap analysis
Document engine pdfplumber & python-docx PDF extraction & DOCX resume generation
Logging & telemetry structlog (JSON logging) Structured production logging & ISO context rendering
Rate limiting SlowAPI IP and user ID based API rate throttling
Billing integration Lemon Squeezy + Svix Webhooks Subscription tiering & HMAC-signed event handling

Notes

The hardest part of this project wasn't the AI integration — it was making the AI integration trustworthy. Anyone can wire up an OpenAI call and get a plausible-looking resume out. Getting it to never fabricate, never merge bullets, never shift a frontend achievement into backend territory — that required treating prompt engineering as a specification problem, not a prompt-tweeking problem. Every guardrail was written before the endpoint was, not after.

The billing architecture also taught me something worth keeping: the moment a webhook returns 200, you've acknowledged receipt. What happens after that is your responsibility, not the payment gateway's. Designing for that separation — instant ack, async work, idempotency at every retry — is what separates a payment integration from a payment incident waiting to happen.

← Back to all releases Next release: Eruscent →