Skip to content
Acquisition overview

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.

  1. Client

    Web app

    React single-page app on Vercel, installable as a PWA

  2. Platform

    Supabase

    Auth, Postgres with row-level security, and Storage

  3. Edge

    Edge Functions

    11 Deno functions that verify the user's session and relay AI and billing requests

  4. AI

    AI workflow layer

    Resume-tailoring service (Node.js, Docker) and n8n workflows

  5. 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.

  1. Extract text and links from the PDF or DOCX
  2. Normalize text and classify profile links
  3. Parse the resume into structured JSONLLM
  4. Validate the JSON and normalize contact details
  5. Extract keywords from the job descriptionLLM
  6. Build a weighted keyword strategy with synonyms
  7. Measure the resume's keyword coverage
  8. Analyze gaps and plan editsLLM
  9. Rewrite the resume toward the roleLLM
  10. Score the keyword hit rate
  11. Polish the draft when the score is below thresholdLLM
  12. Render one of five HTML templates
  13. 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.

ServiceUsed forAt transfer
VercelHostingProject transferred to your team, or redeployed from the repository
SupabaseDatabase, auth, storage and Edge FunctionsProject transferred to your organization, or rebuilt from the migrations and schema export
AI workflow servern8n and the tailoring serviceRedeployed on your server from the workflow exports and Dockerfile
Groq, OpenAI, OpenRouterLanguage modelsYour own API keys
Razorpay, PayPalSubscriptionsYour own merchant accounts; plans recreated
Google, LinkedInSign-inYour own OAuth apps
RadarLocation searchYour own API key
Job-listing providerJob discoveryYour own account
Google AnalyticsAnalyticsProperty transferred, or a new one
Domain registrarsApplyForge.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.

Discuss acquisition