A modern, AI-powered job board platform built with Next.js, featuring intelligent job matching, resume analysis, and streamlined hiring workflows.
Hire Sync AI is a completely free job board platform that connects job seekers with employers through intelligent matching and AI-powered features. The platform provides a comprehensive solution for job posting, application management, and candidate evaluation.
- Status: ✅ COMPLETED
- Description: Converted from a paid/freemium model to a completely free platform
- Changes Made:
- Removed all payment/plan restrictions from backend logic
- Eliminated pricing pages and UI components
- Removed "Change Plan" menu items and upgrade popovers
- Updated
planFeatures.tsto always return true (all features free) - Updated
planfeatureHelpers.tsto return unlimited usage - Cleaned up plan-related imports and conditional logic
- Database schema confirmed clean (no plan-related fields)
- Status: ✅ COMPLETED
- Description: Converted from dark/light theme system to light theme only
- Changes Made:
- Removed
next-themesdependency completely - Eliminated all dark mode CSS variables and classes
- Updated color scheme to professional blue-based palette
- Added subtle dot grid background pattern
- Enhanced button animations with hover effects
- Implemented custom card styling with backdrop blur
- Added gradient sidebar styling
- Increased border radius for modern appearance
- Removed
- Status: ✅ COMPLETED
- Description: Fixed critical deployment issues
- Changes Made:
- Fixed client environment configuration bug in
client.ts - Updated Inngest configuration from port 3002 to 3000
- Added missing
NEXT_PUBLIC_CLERK_SIGN_UP_URLenvironment variable - Corrected environment variable mappings
- Fixed client environment configuration bug in
- Status: ✅ COMPLETED
- Description: Fixed foreign key constraint issues for user deletion
- Changes Made:
- Added
onDelete: "cascade"touserResume.ts - Added
onDelete: "cascade"touserNotificationSettings.ts - Added
onDelete: "cascade"toorganizationUserSettings.ts - Fixed user deletion foreign key constraint errors
- Added
- Frontend: Next.js 15.3.5, React 19.1.0, TypeScript
- Styling: Tailwind CSS 4, shadcn/ui components
- Database: PostgreSQL with Drizzle ORM
- Authentication: Clerk with organization support
- Background Jobs: Inngest workflow engine
- File Storage: UploadThing
- Email: Resend
- AI Services: Anthropic Claude, Google Gemini
- Deployment: Vercel (production), Docker (local development)
- Node.js 18+
- Docker and Docker Compose
- PostgreSQL (via Docker)
# Database Configuration
DB_USER=postgres
DB_PASSWORD=password
DB_HOST=localhost
DB_PORT=5432
DB_NAME=hiresyncai
# Clerk Authentication
CLERK_WEBHOOK_SECRET=your_webhook_secret
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_publishable_key
CLERK_SECRET_KEY=your_secret_key
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_IN_FALLBACK_REDIRECT_URL=/
NEXT_PUBLIC_CLERK_SIGN_UP_FALLBACK_REDIRECT_URL=/
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
# Services
UPLOADTHING_TOKEN=your_uploadthing_token
ANTHROPIC_API_KEY=your_anthropic_key
GEMINI_API_KEY=your_gemini_key
RESEND_API_KEY=your_resend_key
SERVER_URL=http://localhost:3000
# Inngest
INNGEST_CLIENT_ID=hire-sync-ai
INNGEST_DEV_SERVER_URL=http://localhost:3000/api/inngest
INNGEST_DEV_AUTO_SYNC=true# Clone repository
git clone <repository-url>
cd hire-sync-ai
# Install dependencies
npm install
# Start database
docker compose up -d
# Push database schema
npm run db:push
# Start development server
npm run dev
# Start Inngest dev server (separate terminal)
npm run inngest
# Optional: Start email dev server
npm run emailsrc/
├── app/ # Next.js app router
│ ├── (clerk)/ # Clerk authentication pages
│ ├── (job-seeker)/ # Job seeker dashboard
│ ├── employer/ # Employer dashboard
│ └── layout.tsx # Root layout
├── components/ # Reusable UI components
│ ├── ui/ # shadcn/ui components
│ └── sidebar/ # Sidebar components
├── features/ # Feature-specific modules
│ ├── jobListings/ # Job listing functionality
│ ├── organizations/ # Organization management
│ └── users/ # User management
├── services/ # External service integrations
│ ├── clerk/ # Clerk authentication
│ ├── inngest/ # Background jobs
│ └── resend/ # Email services
├── drizzle/ # Database schema & migrations
└── data/ # Environment & configuration
- AI-Powered Job Search: Intelligent matching based on skills and preferences
- Resume Management: Upload and AI-powered resume analysis
- Application Tracking: Track application status and ratings
- Email Notifications: Customizable job alert system
- Unlimited Job Posting: Post unlimited job listings (completely free)
- Featured Listings: Highlight important job postings
- Application Management: Comprehensive applicant tracking system
- AI Resume Analysis: Automated resume summarization
- Team Collaboration: Organization-based user management
- Responsive Design: Mobile-first, professional light theme
- Real-time Updates: Inngest-powered background processing
- File Management: Secure resume and document storage
- Email System: Automated notifications and communications
- Color Palette: Professional blue-based scheme
- Typography: Geist Sans & Mono fonts
- Components: shadcn/ui with custom enhancements
- Animations: Subtle hover effects and transitions
- Layout: Clean, card-based design with proper spacing
.custom-card /* Enhanced card with backdrop blur */
.gradient-bg /* Subtle gradient backgrounds */
.enhanced-button /* Buttons with hover animations */- ✅ Removed all payment/plan restrictions
- ✅ Converted to light theme only
- ✅ Fixed deployment environment issues
- ✅ Fixed database foreign key constraints
- ✅ Reset database for clean slate
- 🔄 Test user deletion functionality
- 🔄 Verify all features work without restrictions
- 🔄 Complete production deployment
- 🔄 Add hero section to landing page (optional)
- Enhanced AI matching algorithms
- Advanced filtering and search capabilities
- Integration with job boards APIs
- Analytics and reporting features
- Mobile app development
- Database is completely reset with clean schema
- All foreign key constraints fixed for proper user deletion
- No plan-related fields exist in database
- Migration system in place for future schema changes
- Vercel deployment configured
- Environment variables mapped correctly
- Build process optimized for production
- Inngest configured for both development and production
- Clerk authentication with organization support
- Secure file upload with UploadThing
- Webhook handling for user lifecycle events
- Proper error handling and validation
- TypeScript strict mode enabled
- ESLint configuration active
- Consistent component structure
- Proper error handling throughout
npm run db:push # Push schema changes
npm run db:generate # Generate migrations
npm run db:migrate # Run migrations
npm run db:studio # Open database studionpm run lint # Run ESLint
npm run build # Build for production
npm start # Start production server- Inngest Sync Issues: Ensure correct port configuration (3000)
- Database Connection: Verify Docker containers are running
- Environment Variables: Check all required variables are set
- User Deletion: Fixed with cascade deletion constraints
- Check Inngest dashboard for background job status
- Monitor database connections via Drizzle Studio
- Review application logs for errors
- Verify webhook deliveries in Clerk dashboard