A professional resume analyzer that provides constructive feedback with a touch of humor. This application uses AI to analyze resumes and provide detailed insights to help users improve their resumes and stand out in job applications.
RagebaitResume is an AI-powered resume analyzer that provides witty and constructive feedback on your resume, helping you identify areas for improvement while keeping the process engaging and entertaining.
- @headlessui/react: ^2.2.1
- @heroicons/react: ^2.2.0
- @supabase/supabase-js: ^2.49.4
- axios: ^1.8.4
- concurrently: ^8.2.2
- dotenv: ^16.4.7
- groq-sdk: ^0.19.0
- next: 15.2.4
- react: ^19.0.0
- react-dom: ^19.0.0
- react-hot-toast: ^2.5.2
- react-pdf: ^9.2.1
- @eslint/eslintrc: ^3
- @tailwindcss/postcss: ^4
- @types/node: ^20
- @types/react: ^19
- @types/react-dom: ^19
- eslint: ^9
- eslint-config-next: 15.2.4
- tailwindcss: ^4
- typescript: ^5
Copy and paste these commands to install all dependencies:
# Install frontend dependencies
npm install @headlessui/react@^2.2.1 @heroicons/react@^2.2.0 @supabase/supabase-js@^2.49.4 axios@^1.8.4 concurrently@^8.2.2 dotenv@^16.4.7 groq-sdk@^0.19.0 next@15.2.4 react@^19.0.0 react-dom@^19.0.0 react-hot-toast@^2.5.2 react-pdf@^9.2.1 @eslint/eslintrc@^3 @tailwindcss/postcss@^4 @types/node@^20 @types/react@^19 @types/react-dom@^19 eslint@^9 eslint-config-next@15.2.4 tailwindcss@^4 typescript@^5
# Install backend dependencies
cd backend && npm install- Drag-and-drop file upload for PDF, DOC, DOCX, and TXT files
- Three feedback intensity levels: Gentle, Balanced, and Direct
- Detailed feedback points with specific improvement suggestions
- Professional letter format with a summary of qualifications
- Score rating system with visual indicators
The project consists of two main parts:
- Frontend: Next.js application (in the root directory)
- Backend: Express.js API (in the
/backenddirectory)
- Node.js 18 or higher
- npm or yarn
- A GROQ API key (get one from console.groq.com)
- A Supabase account and project (create one at supabase.com)
-
Clone the repository:
git clone <repository-url> cd resume-analyzer -
Install frontend dependencies:
npm install -
Install backend dependencies:
cd backend npm install cd .. -
Configure environment variables:
- Create a
.env.localfile in the root directory with:NEXT_PUBLIC_API_URL=/api BACKEND_URL=http://localhost:3001/api GROQ_API_KEY=your_groq_api_key_here NEXT_PUBLIC_SUPABASE_URL=your_supabase_project_url NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
- Create a
-
Create a new project on Supabase
-
Get your project URL and anon key from the project settings
-
Update your
.env.localfile with these values -
Set up the database schema by either:
- Running the SQL in
scripts/setup-supabase.sqlin the Supabase SQL editor - Or using our setup script:
npm run setup:supabase
- Running the SQL in
-
Start both frontend and backend together:
npm run devOr start them separately:
- Frontend:
npm run dev:frontend - Backend:
npm run dev:backend
- Frontend:
-
Open your browser and navigate to
http://localhost:3000
-
Make sure the backend server is running properly
- Check if it's running at
http://localhost:3001 - Verify the GROQ API key in
backend/.envis valid and not expired
- Check if it's running at
-
Check the console for more detailed error messages
- Frontend console (browser dev tools)
- Backend console (terminal running the backend)
-
Verify that the resume file:
- Is in a supported format (PDF, DOC, DOCX, or TXT)
- Is not larger than 5MB
- Is a valid resume document
-
Verify both frontend and backend are running:
- Frontend should be at
http://localhost:3000 - Backend should be at
http://localhost:3001
- Frontend should be at
-
Check if there are any network issues:
- CORS errors in the browser console
- Network connection issues
-
Verify correct environment variables are set
If you encounter this error, it means the database table hasn't been created properly:
- Go to your Supabase project dashboard
- Navigate to the SQL Editor
- Copy the entire contents of the
scripts/setup-supabase.sqlfile - Paste it into the SQL Editor and run the query
- Check that the query executed successfully without errors
If you still encounter issues:
- From the Supabase dashboard, go to Table Editor
- Check if the
resume_analysestable exists under the "public" schema - If it doesn't exist, you may need to manually create it with:
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
CREATE TABLE IF NOT EXISTS public.resume_analyses (
id uuid NOT NULL DEFAULT uuid_generate_v4() PRIMARY KEY,
user_id uuid REFERENCES auth.users,
resume_name text NOT NULL,
job_position text,
job_field text,
intensity text NOT NULL,
rejection_letter text NOT NULL,
feedback_points jsonb NOT NULL,
score integer NOT NULL,
created_at timestamptz NOT NULL DEFAULT now()
);- After creating the table, run the remaining SQL in the setup script to set up security policies