Technical overview
How ApplyForge is built
A summary of the platform's stack, architecture and security model, and what transfers to a buyer. The source code and workflow definitions are available for review during due diligence. Planning a build instead? Compare with building it yourself.
Stack
Technology
- Frontend
- React 18 and TypeScript, built with Vite. Tailwind CSS with Radix-based (shadcn/ui) components, TanStack Query and an installable PWA.
- Hosting
- Vercel. Public pages are prerendered to static HTML at build time; the signed-in app is a single-page app.
- Backend
- Supabase: Postgres with row-level security, Auth, Storage and 11 Deno Edge Functions.
- AI services
- A Node.js and TypeScript resume-tailoring service (Express, Docker), plus n8n workflows for ATS analysis, cover letters, instant generation and job discovery.
- Language models
- Groq, OpenAI and OpenRouter. The workflows use swappable chat-model steps, so the provider can be changed.
- Documents
- PDF and DOCX parsing (pdf-parse, mammoth), and HTML templates rendered to PDF with Puppeteer.
- Authentication
- Email and password, Google and LinkedIn (OpenID Connect) sign-in, with password reset.
- Payments
- Razorpay subscriptions (INR) and PayPal subscriptions (USD), on monthly and yearly plans.
- Location
- Radar autocomplete for job-search locations.
- Analytics
- Google Analytics 4, Vercel Analytics and Core Web Vitals reporting.
Architecture
How a request flows
The browser never calls a language-model provider directly. AI requests go through Supabase Edge Functions, which verify the user, and on to the AI workflow layer.
- Client
Web app
React single-page app on Vercel, installable as a PWA
- Platform
Supabase
Auth, Postgres with row-level security, and Storage
- Edge
Edge Functions
11 Deno functions that verify the user's session and relay AI and billing requests
- AI
AI workflow layer
Resume-tailoring service (Node.js, Docker) and n8n workflows
- Services
External providers
Groq, OpenAI and OpenRouter models · Razorpay and PayPal · Radar
AI pipeline
Resume tailoring, step by step
The resume-tailoring service runs thirteen steps. Language-model steps are marked; the rest are deterministic code that validates and scores the model output.
- Extract text and links from the PDF or DOCX
- Normalize text and classify profile links
- Parse the resume into structured JSONLLM
- Validate the JSON and normalize contact details
- Extract keywords from the job descriptionLLM
- Build a weighted keyword strategy with synonyms
- Measure the resume's keyword coverage
- Analyze gaps and plan editsLLM
- Rewrite the resume toward the roleLLM
- Score the keyword hit rate
- Polish the draft when the score is below thresholdLLM
- Render one of five HTML templates
- Generate the PDF and return a signed download link
Comparison
How it differs from open-source résumé builders
Open-source résumé builders are a free starting point. This is what ApplyForge adds.
- A scored tailoring pipeline: thirteen steps that measure keyword coverage and run a polish pass when the score falls below a threshold.
- n8n workflows for ATS analysis, cover letters, instant generation and job discovery, with swappable model providers.
- Job discovery with one-click tailoring from a listing, plus saved and applied job tracking.
- Billing already integrated: Razorpay (INR) and PayPal (USD) subscriptions, with plan limits and usage metering.
- Sign-in with email, Google and LinkedIn (OpenID Connect).
- Proprietary code that transfers outright. Some open-source résumé builders use AGPL-3.0, which requires publishing your changes when people use the modified app over a network.
Data model
What the database stores
- Accounts and plans
- User profiles, plan tier, usage metering against plan limits, and payment records.
- Documents
- Tailored resumes and generated cover letters, with generated PDFs in Supabase Storage.
- Jobs
- Job listings and search results; saved, applied and dismissed jobs; search preferences.
Security model
How access is controlled
- Every AI and billing request passes through an Edge Function that verifies the user's session.
- AI functions set the user ID from the verified session, so a client can't act for another account.
- Core user tables (profiles, documents, saved and applied jobs, usage and payments) use owner-scoped row-level security.
- The resume-tailoring service only accepts requests that carry a shared internal token from its Edge Function.
- Service credentials live in environment variables and function secrets, never in the browser bundle.
Code quality
Engineering
- About 35,000 lines of TypeScript across the React frontend, the Deno Edge Functions and the Node.js tailoring service.
- Every push is type-checked and built in CI (GitHub Actions), including prerendering and checking the public pages.
- Database changes are versioned SQL migrations, and user tables use row-level security. A full schema export is part of the transfer.
- Git history back to July 2025.
Ownership
Licences and IP
- ApplyForge's code, resume and cover-letter templates, and logo transfer to you under the sale agreement.
- Open-source dependencies use permissive licences (MIT, BSD, ISC, Apache-2.0). The exceptions are Vercel Analytics (MPL-2.0, used unmodified) and JSZip (MIT or GPL-3.0, used under MIT).
- No GPL or AGPL code.
- Fonts: Inter and Archivo, under the SIL Open Font License.
Operating costs
Running costs
What it costs to run depends on usage. Current monthly figures are shared during due diligence.
- Hosting
- Vercel, for the web app and the prerendered public pages.
- Backend
- Supabase: Postgres, Auth, Storage and Edge Functions.
- AI server
- A server running n8n and the resume-tailoring service (Docker).
- Language models
- Groq, OpenAI or OpenRouter, billed per request. A tailoring run makes four or five model calls.
- Job listings
- The job-listing provider, billed by usage.
- Domains
- Yearly renewals for ApplyForge.ai and ApplyForge.in.
Accounts
Third-party accounts
Most services are tied to their owner's identity or business, so you set them up under your own accounts. Everything is rotated at transfer.
| Service | Used for | At transfer |
|---|---|---|
| Vercel | Hosting | Project transferred to your team, or redeployed from the repository |
| Supabase | Database, auth, storage and Edge Functions | Project transferred to your organization, or rebuilt from the migrations and schema export |
| AI workflow server | n8n and the tailoring service | Redeployed on your server from the workflow exports and Dockerfile |
| Groq, OpenAI, OpenRouter | Language models | Your own API keys |
| Razorpay, PayPal | Subscriptions | Your own merchant accounts; plans recreated |
| Google, LinkedIn | Sign-in | Your own OAuth apps |
| Radar | Location search | Your own API key |
| Job-listing provider | Job discovery | Your own account |
| Google Analytics | Analytics | Property transferred, or a new one |
| Domain registrars | ApplyForge.ai (Spaceship), ApplyForge.in (Hostinger) | Registrar transfer, with escrow available |
Transfer
Source code included
A platform acquisition includes the complete AI resume builder source code and what you need to run it under your own accounts. Hosting, API and payment accounts are set up under your ownership, and every credential is rotated.
- Source repository: frontend, Edge Functions, database migrations and the resume-tailoring service
- Database schema, from migrations and a schema export
- n8n workflow definitions (JSON exports)
- Deployment configuration for Vercel, Supabase and Docker
- Environment variable reference and setup documentation
- Knowledge-transfer sessions and deployment assistance
Evaluating the platform?
Request a private walkthrough of the product and the codebase.