Optimize your resume with AI precision - Beat ATS systems and get more interviews with intelligent resume optimization powered by OpenAI.
- ATS Score Analysis - Get detailed scoring based on job requirements
- AI-Powered Keyword Extraction - Extract relevant keywords from job descriptions
- Resume Optimization - AI rewrites your resume to match job requirements
- PDF Export - Generate professional PDFs of your optimized resume
- Real-time Preview - See changes as you edit your resume
- Secure Authentication - User accounts with Supabase Auth
- Persistent Storage - Your resumes are saved and accessible across sessions
- Frontend: Next.js 15 with React 19 and TypeScript
- UI Components: Radix UI + shadcn/ui design system
- Styling: Tailwind CSS with CSS variables for theming
- State Management: Zustand with persistence and devtools
- Authentication: Supabase Auth with local caching
- Database: Supabase PostgreSQL
- AI Integration: OpenAI API for resume processing
- Deployment: Netlify
- Node.js 18 or higher
- npm or yarn package manager
- Supabase account and project
- OpenAI API key
git clone <repository-url>
cd atsfit-dashboardnpm installCreate a .env.local file in the root directory:
# Supabase Configuration
NEXT_PUBLIC_SUPABASE_URL=your_supabase_project_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
# OpenAI Configuration
NEXT_PUBLIC_OPENAI_API_KEY=your_openai_api_key
# Application URL (for development)
NEXT_PUBLIC_HOST_URL=http://localhost:3000- Create a Supabase project at supabase.com
- Set up the required tables:
resumestable for storing user resume data- Enable Row Level Security (RLS) policies
- Copy your project URL and anon key to the
.env.localfile
- Get your API key from OpenAI
- Add it to your
.env.localfile - Ensure you have credits/billing set up for API usage
npm run devVisit http://localhost:3000 to see your application.
# Build for production
npm run build
# Start production server
npm start
# Run linter
npm run lintatsfit-dashboard/
βββ app/ # Next.js App Router pages and API routes
β βββ api/ # API endpoints
β βββ dashboard/ # Dashboard page
β βββ login/ # Authentication pages
β βββ ...
βββ components/ # React components
β βββ ui/ # shadcn/ui components
β βββ ...
βββ stores/ # Zustand state management
β βββ slices/ # Store slices (auth, resume, ui)
β βββ ...
βββ lib/ # Utilities and services
β βββ database/ # Database operations
β βββ utils/ # Utility functions
β βββ ...
βββ contexts/ # React context providers
βββ hooks/ # Custom React hooks
βββ styles/ # Global styles
- Sign Up/Sign In - Users create accounts via Supabase Auth
- Session Management - Auth state cached locally for 24 hours
- Resume Setup - New users directed to resume creation
- Dashboard Access - Authenticated users can access all features
- Sign up with email and password
- Verify your email if required
- Upload existing resume or create new one
- Content is automatically formatted
- Paste job description
- Get ATS score and keyword analysis
- View matched/missing keywords
- Use AI suggestions to improve content
- Real-time preview of changes
- Export to PDF when ready
- Connect your repository to Netlify
- Set environment variables in Netlify dashboard
- Deploy with these settings:
- Build command:
npm run build - Publish directory:
.next - Node version: 18
- Build command:
NEXT_PUBLIC_SUPABASE_URL=your_production_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_production_supabase_key
NEXT_PUBLIC_OPENAI_API_KEY=your_openai_api_key
NEXT_PUBLIC_HOST_URL=https://your-domain.com- Build Process: ESLint and TypeScript errors are ignored during builds for rapid iteration
- Image Optimization: Disabled for deployment compatibility
- State Persistence: User data cached in localStorage with 24-hour expiration
- API Rate Limits: Consider OpenAI API usage limits for production
- Build Errors: Check that all environment variables are set correctly
- API Failures: Verify OpenAI API key and billing status
- Database Issues: Ensure Supabase RLS policies are configured
- Auth Problems: Check Supabase project settings and URLs
- Use browser dev tools to inspect localStorage for cached auth state
- Check network tab for API call failures
- Zustand devtools available for state debugging
This project is part of a resume optimization platform. Please check with the repository owner for licensing information.
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
For issues and questions, please create an issue in the repository or contact the development team.
Built with β€οΈ using Next.js, OpenAI, and Supabase