Skip to content

Repository files navigation

Negotiator

Evidence-Based Salary Negotiation Platform

Negotiator is an AI-assisted salary negotiation platform that helps professionals prepare for compensation discussions using custom financial analysis, resume-to-job matching, and dynamic negotiation strategies.

Instead of generic market averages, Negotiator calculates exactly what you should negotiate for based on your personal financial needs, professional profile, and the opportunity in front of you.


Key Features

  1. Deterministic Financial Analysis

    • Parses bank statements (CSV format) to calculate monthly expenses and savings capacity.
    • Computes your baseline comfort requirements and minimum acceptable income.
  2. AI-Powered Resume-Job Matching

    • Parses resume and job description (PDF/Text) using Groq LLM and structured Zod parsing.
    • Computes a confidence score based on skill match percentage and experience ratio.
  3. Strategic Salary Recommendations

    • Computes three evidence-based tiers: Minimum Acceptable, Recommended Target, and Stretch Goal.
    • Leverages Adzuna API data to optionally enrich local benchmarks with live market salary averages.
    • Generates customized talking points and counter-offer email templates.
  4. Interactive Negotiation Simulator

    • A real-time, streaming AI recruiter chat workspace where you can practice pitching your salary strategy.
    • The recruiter pushes back, challenges your assertions, and responds dynamically.
  5. PDF Prep Document Generation

    • Generates a beautifully compiled PDF report of your strategy, talking points, and email script for offline reference.

Technology Stack

  • Framework: Next.js (App Router), React, TypeScript
  • State Management: Zustand
  • Styling: Vanilla CSS (Premium layout design)
  • AI Integration: Vercel AI SDK + Groq API (Llama-3.3-70b-versatile)
  • Market Intelligence: Adzuna API (Real-time salary history statistics)
  • Data Visualizations: Recharts
  • PDF Generation: @react-pdf/renderer
  • Parsers and Validators: Zod (data validation), pdf-parse (PDF extraction), and csv-parse (CSV processing)

Local Run Guide

Follow these steps to run Negotiator on your local machine:

1. Clone and Navigate to the Project Directory

Make sure you are in the project folder:

cd /Users/arpittripathi/Desktop/negotiater

2. Install Dependencies

Install all required Node modules:

npm install

3. Configure Environment Variables

You need a Groq API Key to run the parser extracts and the chat simulator.

  • Open the .env.local file in the root of the project.
  • Paste your Groq API key:
    GROQ_API_KEY=gsk_your_actual_key_here
  • If you do not have a Groq key, get one for free at the Groq Console.

4. Run the Development Server

Launch the local Next.js server:

npm run dev

5. Access the Platform

Open your browser and navigate to: http://localhost:3000


Demo Scenarios (Easy Testing)

If you do not want to upload your actual files, we have built in Demo Data Scenarios so you can preview the full platform instantly:

  1. Go to the Upload Page (http://localhost:3000/upload).
  2. Click the "Load Demo Scenario" button in the top right.
  3. This will instantly populate mock transaction data, candidate resume details, and a Job Description.
  4. Click "Analyze and Generate Strategy" to see the full dashboard, charts, negotiation playbook, and interactive chat simulator in action!

Project Architecture

negotiater/
├── src/
│   ├── app/
│   │   ├── (app)/
│   │   │   ├── about/       # Project information and background page
│   │   │   ├── career/      # Career and skills match dashboard
│   │   │   ├── financial/   # Financial runway and cash flow visualizer
│   │   │   ├── negotiation/ # Custom playbook, salary gauge, and strategy
│   │   │   ├── report/      # Downloadable PDF report and takeaways
│   │   │   └── upload/      # File upload interface and demo selector
│   │   ├── api/
│   │   │   ├── analyze/     # AI Counter-offer and script generator endpoint
│   │   │   ├── chat/        # Streaming AI Recruiter chat endpoint
│   │   │   └── upload/      # PDF and CSV parser pipeline endpoint
│   │   ├── layout.tsx
│   │   └── page.tsx         # Modern landing page
│   ├── components/          # Reusable UI widgets and layout components
│   ├── lib/
│   │   ├── engines/         # Deterministic financial and strategy algorithms
│   │   ├── parsers/         # PDF text extractor and CSV bank parser
│   │   └── types.ts
│   └── store/
│       └── store.ts         # Zustand global application state
├── .env.local               # Private local config (ignored by git)
├── .env.example             # Env variable template
└── package.json

About

Salary Negotiator Tool

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages