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