1. Client Context
Simplify Job Search was developed as an AI-powered job application companion for candidates
who need a faster, smarter, and more structured way to apply for jobs.
The platform was designed for job seekers who often struggle with fragmented tools, weak
resume-job alignment, resume rejection during screening, manual resume tailoring, and lack of
clear application guidance. Instead of forcing candidates to use different tools for resume
scoring, gap analysis, job-specific resume writing, cover letter creation, and job discovery,
Simplify Job Search combines these workflows into one AI-driven candidate platform.
The candidate-side system supports resume upload, candidate profile creation, job search,
saved jobs, resume score checking, resume-job gap analysis, AI cover letter generation,
job-specific resume generation, custom AI services, credit-based usage, resume preview,
paid unlock flow, and AI usage tracking.
Simplify Job Search uses a modern Angular frontend, Node.js backend, DynamoDB, Amazon S3,
Azure OpenAI, Vertex AI context, PDF and image text extraction, LaTeX-based resume PDF
generation, Razorpay payments, and AWS-based infrastructure to create a scalable AI career
platform.
2. Problem
The job application process is highly fragmented, repetitive, and inefficient for candidates.
The existing candidate journey created several problems:
- Candidates often apply with generic resumes that are not aligned with specific job descriptions.
- Many resumes are rejected during automated or manual screening because they lack the right keywords, structure, and role-specific formatting.
- Candidates do not know how well their resume matches a job before applying.
- Resume-job gap analysis is usually manual and difficult for non-technical job seekers.
- Cover letter creation is repetitive and time-consuming.
- Candidates need different resumes for different job roles but usually maintain only one common resume.
- Job descriptions may come from text, PDF, or image-based sources, making extraction and analysis difficult.
- Resume generation requires professional formatting, screening-friendly content, and downloadable PDF output.
- AI feature usage must be controlled because every AI request has real infrastructure and model cost.
- Candidates need a preview-before-payment experience so they can see value before unlocking a final resume.
- The platform needs to support paid resume unlock, credits, and AI usage history in a scalable way.
- Candidate data, resumes, generated documents, and payment state must be stored securely and retrieved reliably.
The key goal was to build a candidate-side AI system that could reduce manual job-application
effort, improve resume-job alignment, generate job-specific documents, and support a
monetizable AI workflow.
3. AI Approach
Simplify Job Search was designed as a candidate intelligence platform where AI is used across
the full application workflow.
The solution combines resume parsing, job-description extraction, structured AI prompting,
resume score generation, gap analysis, cover letter generation, resume rewriting, LaTeX PDF
generation, credit management, caching, and payment-based unlock flows.
The approach included:
Candidate Profile and Resume Ingestion
Candidates can sign in using Google or LinkedIn authentication and create a candidate profile.
The backend creates a candidate identity, stores user and profile data in DynamoDB, assigns
initial credits, and supports resume upload. Uploaded resumes are stored in Amazon S3, while
structured profile and resume metadata are stored in DynamoDB.
The system supports multiple resumes per candidate and allows one resume to be marked as the
primary resume. This is important because AI services such as resume score, gap analysis,
cover letter generation, and resume generation use the candidate’s primary resume as the base input.
PDF and Image-Based Text Extraction
Simplify Job Search includes document extraction capability for resume and job-description
workflows.
For PDF extraction, the backend uses Python with PyPDF2 to extract text from resume PDFs and
uploaded job-description PDFs. For image-based extraction, the backend uses Tesseract OCR
through Python to extract text from image files.
This allows candidates to provide job descriptions in multiple formats including direct text input,
uploaded PDF, uploaded image, or a job record already present in the Simplify Job Search job system.
This flexibility improves the user experience because candidates do not need to manually copy
and clean every job description before using AI services.
Resume Score Analysis
The resume score feature compares the candidate’s resume with a target job description.
The backend retrieves the candidate’s primary resume from Amazon S3, extracts resume text,
retrieves job details from the job database, and sends the resume-job context to the AI model.
The AI returns a structured score based on keyword match, skill relevance, experience alignment,
education match, job-description coverage, eligibility criteria, role responsibilities, and required skills.
This gives candidates a clear understanding of their resume strength before applying and helps
them decide whether the resume needs improvement for a specific job.
Gap Analysis
The gap analysis module identifies strengths, weaknesses, gaps, and improvement tips by
comparing the candidate’s resume with the job description.
The system generates structured output covering candidate strengths, weak areas, missing skills,
resume-job gaps, and improvement recommendations.
This helps candidates understand exactly what needs to be improved before submitting an application.
AI Cover Letter Generation
The cover letter module generates a structured cover letter using the candidate’s resume, job
description, job title, and company name.
The AI output is designed to create a professional, job-specific cover letter rather than a generic
template. It uses candidate experience, role requirements, and employer context to generate a
personalized document.
AI Resume Generation
The AI resume generator is one of the core candidate-side modules.
The backend extracts the existing resume text, combines it with job-description context, and sends
it to the AI model using structured JSON output. The AI generates resume content including
candidate name and contact details, professional summary, technical skills, experience, projects,
education, and achievements.
The generated content is then passed into LaTeX templates. Simplify Job Search supports different
resume styles such as classic and creative templates. The backend compiles the LaTeX into PDF
using pdflatex, then uploads the generated PDF to Amazon S3.
This gives the candidate a professionally formatted, screening-friendly resume that is aligned
with the target role.
Custom AI Services
Simplify Job Search also supports custom AI tools where users can provide their own job
description text, PDF, or image.
The custom AI service supports custom resume score checking, custom gap analysis, custom
cover letter generation, custom resume generation, and resume preview generation.
This allows candidates to use Simplify Job Search even when the job is not already listed inside
the platform.
Resume Preview and Unlock Flow
Simplify Job Search includes a resume preview and paid unlock flow.
The candidate can generate a resume preview first. The full resume download is locked until
payment is completed. The frontend includes resume preview access panels, resume unlock modal,
template selection, and Razorpay payment handling.
The preview flow includes PDF blob handling and a half-blur locked resume experience so
candidates can review part of the generated document before unlocking the final version.
The unlock flow supports resume preview, template selection, Razorpay order creation, Razorpay
payment verification, unlock status update, and final resume download after unlock.
The business model is designed around a preview-first model where candidates see value before
paying.
Credit-Based AI Usage
Simplify Job Search uses a credit-based system to control AI usage cost.
Each AI service has a defined credit cost. Services such as resume score checking, gap analysis,
cover letter generation, and resume generation can deduct credits.
Before executing an AI request, the backend checks whether the candidate has enough credits.
After successful AI generation, credits are deducted and an AI usage record is stored.
This makes the system more scalable because AI usage is tied to monetization and cost control.
Caching and AI Result Reuse
The backend includes caching logic for repeated AI requests.
If the same candidate, resume, job, and service type already have a generated result, the system
can return cached output instead of calling the AI model again.
This reduces AI cost, improves response speed, and avoids duplicate credit usage for repeated analysis.
4. Tech Used
The candidate-side Simplify Job Search system uses a combination of frontend engineering,
backend APIs, AI services, document processing, database storage, payment systems, email
communication, and cloud deployment technologies.
Frontend and User Experience Stack
- Angular 17 for building the candidate-facing web application and structured user workflows.
- TypeScript for type-safe frontend development and scalable application logic.
- JavaScript for supporting frontend behavior, integrations, and dynamic user interactions.
- HTML for defining the structure of candidate-facing pages and application screens.
- CSS for styling, layout control, and visual presentation of the user interface.
- Tailwind CSS for responsive, utility-first UI development and clean candidate dashboard design.
- RxJS for handling asynchronous data streams, API responses, and reactive frontend state management.
- Razorpay Checkout Integration for enabling candidate payments, credit purchases, and resume unlock workflows from the frontend.
Backend and API Stack
- Node.js for running the backend services and candidate-side application logic.
- Express.js for building REST APIs for candidate profiles, resumes, jobs, AI services, credits, and payment workflows.
- JavaScript ES Modules for modular backend development and organized service-based code structure.
- REST API Architecture for connecting the Angular frontend with backend services through structured API endpoints.
- Multer for handling resume uploads, job-description files, images, and other candidate-uploaded documents.
- JWT Authentication for securing candidate sessions and protecting private user APIs.
- Google OAuth Verification for supporting Google-based candidate sign-in and identity validation.
- LinkedIn OAuth Verification for supporting LinkedIn-based authentication and candidate profile access flow.
- Winston and Pino Logging for backend monitoring, debugging, and structured application-level logs.
- Node Cron for running scheduled backend tasks such as reminders, automated processing, and operational jobs.
AI and Document Intelligence Stack
- Azure OpenAI for structured AI generation across resume score analysis, gap analysis, cover letter generation, and resume content creation.
- Vertex AI and Gemini Provider Context for maintaining scalable AI-provider flexibility and future multi-provider support.
- Structured AI Outputs for returning clean, display-ready, and document-ready AI responses for candidate workflows.
- Azure OpenAI Embeddings for creating semantic representations of resume and career-related content.
- Pinecone Vector Database for storing and retrieving resume embeddings through semantic similarity search.
- Python Text Extraction Pipeline for extracting and preparing resume and job-description content for AI analysis.
- PyPDF2 for extracting text from PDF resumes and PDF-based job descriptions.
- Tesseract OCR for extracting readable text from image-based resumes, screenshots, and job description images.
- LaTeX Template Generation for converting AI-generated resume content into professional resume templates.
- pdflatex Compilation for converting LaTeX resume templates into downloadable PDF documents.
- PDF Generation and Amazon S3 Upload for creating, storing, and serving AI-generated candidate resumes securely.
Database and Storage Stack
- Amazon DynamoDB for storing candidate profiles, resumes, jobs, saved jobs, credit records, AI usage history, payment records, and generated-output metadata.
- Amazon S3 Bucket for storing uploaded resumes, extracted documents, generated PDF resumes, preview files, and candidate-related assets.
Payment and Monetization Stack
- Razorpay for processing candidate payments, credit purchases, resume unlock payments, and payment verification workflows.
Communication and Email Stack
- AWS SES for sending transactional, candidate communication, notification, and platform emails.
- Marketing Emails for candidate engagement, product updates, job-related communication, and platform awareness campaigns.
- Unsubscribe Handling for managing candidate email preferences and supporting compliant email communication.
Deployment and Infrastructure Stack
- AWS EC2 for hosting the candidate-side frontend, backend services, and production application environment.
- Docker for containerizing backend services and supporting consistent deployment across environments.
- Docker Compose for managing multi-service deployment and simplifying backend service orchestration.
- Nginx for reverse proxy, routing, SSL handling, and serving production frontend builds.
- CloudWatch for monitoring application health, logs, server activity, and production-level system behavior.
- CloudWatch Agent for collecting server-level metrics, logs, and infrastructure monitoring data.
- Production Angular Build Served Through Nginx for delivering the optimized candidate web application in production.
- Backend Container with Node.js, Python, Tesseract, LaTeX, Cron, and API Runtime for supporting AI services, document extraction, resume generation, scheduled jobs, and backend APIs in one deployment environment.
- Amazon S3, DynamoDB, and AWS SDK Integration for connecting backend services with AWS storage, database, and cloud resource operations.
5. Outcome / Business Value
The Simplify Job Search candidate-side platform created a structured AI workflow for job seekers
and converted manual job-application work into a guided, automated, and monetizable experience.
The platform provides several business benefits:
- Helps candidates check resume-job fit before applying.
- Reduces resume optimization effort by generating role-specific AI suggestions.
- Improves candidate readiness through resume score, gap analysis, and improvement tips.
- Reduces manual cover letter writing by generating job-specific cover letters.
- Enables candidates to generate professional, screening-friendly resumes using AI and LaTeX templates.
- Supports multiple resume formats and paid resume unlock.
- Creates a preview-first monetization model where candidates can see resume value before payment.
- Controls AI cost using credits, caching, and usage tracking.
- Allows document input flexibility through text, PDF, and image extraction.
- Stores resumes and generated files securely using Amazon S3.
- Uses DynamoDB for scalable candidate, resume, credit, and AI usage data.
- Supports future personalization through embeddings and vector search.
- Enables a full candidate journey from profile creation to job discovery, analysis, resume generation, and application readiness.
The platform demonstrates how AI can be embedded directly into the job-search workflow instead
of being offered as a separate resume-writing tool.
6. What Similar Companies Can Learn
Job platforms, career-tech startups, resume tools, HR-tech products, and recruitment marketplaces
can learn several important lessons from the Simplify Job Search candidate-side system.
First, job seekers need a complete workflow, not isolated tools. Resume score checking, gap
analysis, cover letters, resume generation, job search, and payment flow become more valuable
when they are connected in one candidate journey.
Second, AI output must be structured. Simplify Job Search uses structured AI outputs for scoring,
analysis, resume sections, and cover letter content. This makes the system easier to validate,
display, cache, and convert into professional documents.
Third, document extraction is critical. Candidates may provide resumes or job descriptions as PDFs,
images, or text. Supporting PDF and OCR extraction improves usability and reduces friction.
Fourth, generated resumes should not only be text-based. By converting AI-generated structured
content into LaTeX and then into PDF, the platform produces professional downloadable resumes
with consistent formatting.
Fifth, AI products need cost control. Simplify Job Search uses credits, caching, usage history, and
payment flows to make AI features commercially sustainable.
Finally, preview-first monetization is powerful for candidate tools. Letting users see a partial
resume preview before unlocking the full version increases trust and makes the paid flow easier
to justify.