Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/nayalsaurav/resume-analyzer/llms.txt

Use this file to discover all available pages before exploring further.

The Feedback type is the central data structure in Resume Check Karo — it carries the complete AI analysis result for a resume submission. Every successful call to analyzeResume (and by extension getAiResponse) resolves to a Feedback object. The type is composed of three nested interfaces: Feedback at the top level, FeedbackSection for each of the five scored categories, and FeedbackTip for each individual recommendation within a section.

Interface Definitions

All three interfaces are defined in lib/google.ts. Only Feedback is exported from that module — FeedbackSection and FeedbackTip are internal types used to compose the Feedback shape.
interface FeedbackTip {
  type: "good" | "improve";
  tip: string;
  explanation?: string;
}

interface FeedbackSection {
  score: number;
  tips: FeedbackTip[];
}

export interface Feedback {
  overallScore: number;
  ATS: FeedbackSection;
  toneAndStyle: FeedbackSection;
  content: FeedbackSection;
  skills: FeedbackSection;
  structure: FeedbackSection;
}
Import the Feedback type in your own files using:
import type { Feedback } from "@/lib/google";

Feedback

The root object returned by the AI analyzer. Contains an overall score and one FeedbackSection per evaluation category.
overallScore
number
required
Weighted aggregate score from 0–100 across all five sections. A score of 0 on this field (combined with zero section scores) indicates that the AI call failed and the error fallback was returned.
ATS
FeedbackSection
required
Analysis of ATS (Applicant Tracking System) compatibility — keyword optimization, formatting suitability for automated parsers, and overall parsing friendliness relative to the provided job description.
toneAndStyle
FeedbackSection
required
Analysis of professional tone, language appropriateness, and alignment with industry communication standards for the target role.
content
FeedbackSection
required
Analysis of content quality and relevance — how well the resume’s experience, achievements, and quantified results map to the job description.
skills
FeedbackSection
required
Analysis of technical and soft skills alignment — presence of role-critical keywords, demonstrated skill depth, and match against the required/preferred qualifications in the job description.
structure
FeedbackSection
required
Analysis of layout clarity, section organization, and overall readability — how easy it is for both humans and ATS parsers to navigate the document.

FeedbackSection

Represents the AI’s evaluation of a single category. Returned for each of the five sections inside a Feedback object.
score
number
required
Category score from 0–100. The AI is instructed to be critical — low scores are intentional for poorly matched or formatted resumes and should be surfaced to the user as-is.
tips
FeedbackTip[]
required
Array of 3–4 actionable tips for this category, each typed as either a positive observation ("good") or an area for improvement ("improve"). See FeedbackTip below.

FeedbackTip

A single observation or recommendation within a FeedbackSection. The AI generates between 3 and 4 tips per section.
type
"good" | "improve"
required
Classifies the tip as a positive finding ("good") or an actionable improvement area ("improve"). Use this field to drive UI differentiation — for example, a green checkmark for "good" and an amber warning icon for "improve".
tip
string
required
A concise title or one-line summary of the observation. Suitable for use as a heading or list item label in the UI.
explanation
string
A more detailed explanation of the tip — may include specific examples, suggested rewording, or context for why the issue matters. Present on tips in toneAndStyle, content, skills, and structure sections.
The explanation field is absent from the AI schema for the ATS section — ATS tips contain only type and tip by design. For all other sections (toneAndStyle, content, structure, skills), the AI schema marks explanation as required, so it will always be populated on those tips.

Example Response

The following is a realistic sample Feedback object as returned by the analyzer for a mid-level software engineer resume:
{
  "overallScore": 72,
  "ATS": {
    "score": 65,
    "tips": [
      {
        "type": "improve",
        "tip": "Missing high-frequency keywords from the job description"
      },
      {
        "type": "good",
        "tip": "Clean single-column layout parses reliably"
      },
      {
        "type": "improve",
        "tip": "Avoid tables and text boxes for key content"
      }
    ]
  },
  "toneAndStyle": {
    "score": 80,
    "tips": [
      {
        "type": "good",
        "tip": "Consistent use of active voice throughout",
        "explanation": "Phrases like 'Led the migration' and 'Designed the API' demonstrate strong action-oriented language preferred by hiring managers."
      },
      {
        "type": "improve",
        "tip": "Remove first-person pronouns",
        "explanation": "Sentences beginning with 'I' or 'My' are non-standard in resumes. Replace 'I built a caching layer' with 'Built a caching layer'."
      },
      {
        "type": "good",
        "tip": "Tone is appropriately formal for a senior engineering role",
        "explanation": "The language throughout is professional and avoids colloquialisms, which suits the seniority of the target role."
      }
    ]
  },
  "content": {
    "score": 75,
    "tips": [
      {
        "type": "improve",
        "tip": "Quantify more achievements",
        "explanation": "Only 2 of 8 bullet points include measurable results. Add metrics such as latency reductions, cost savings, or user growth percentages."
      },
      {
        "type": "good",
        "tip": "Recent experience is directly relevant to the posted role",
        "explanation": "Your last two positions align closely with the core responsibilities listed in the job description."
      },
      {
        "type": "improve",
        "tip": "Remove duties-only bullet points",
        "explanation": "'Responsible for maintaining the database' describes a duty. Replace with an achievement: 'Reduced query latency by 40% through index optimisation'."
      }
    ]
  },
  "skills": {
    "score": 70,
    "tips": [
      {
        "type": "improve",
        "tip": "Add a dedicated skills section",
        "explanation": "ATS parsers often look for a discrete skills block. Listing technologies inline within job descriptions reduces keyword hit rates."
      },
      {
        "type": "good",
        "tip": "Core tech stack aligns with job requirements",
        "explanation": "React, Node.js, and PostgreSQL are all explicitly listed in the job description and are present in your resume."
      },
      {
        "type": "improve",
        "tip": "Include soft skills relevant to the role",
        "explanation": "The job description emphasises 'cross-functional collaboration' and 'stakeholder communication' — neither appears in the current resume."
      }
    ]
  },
  "structure": {
    "score": 85,
    "tips": [
      {
        "type": "good",
        "tip": "Reverse-chronological order is correct for this experience level",
        "explanation": "Reverse-chronological formatting is the expected standard for candidates with several years of continuous experience."
      },
      {
        "type": "improve",
        "tip": "Add a professional summary at the top",
        "explanation": "A 2–3 sentence summary positioned below your name gives ATS and recruiters an immediate context hook before they read work history."
      },
      {
        "type": "good",
        "tip": "Section headings are clear and conventional",
        "explanation": "Standard headings such as 'Experience', 'Education', and 'Skills' are reliably parsed by ATS engines."
      }
    ]
  }
}

Build docs developers (and LLMs) love