AI-powered recruitment platform for modern teams. Streamline your hiring process with intelligent candidate assessment, automated email communication, and comprehensive applicant tracking.
- AI-Powered Assessment: Automated candidate evaluation with detailed insights
- Smart Email Communication: Professional rejection and interview request emails
- Applicant Tracking: Comprehensive CRM for managing candidates
- Bulk Operations: Efficiently manage multiple applicants
- Organization Management: Multi-tenant architecture for teams
- Modern Tech Stack: Built with Next.js, TypeScript, and Tailwind CSS
- Frontend: Next.js 15, React 19, TypeScript
- UI: Shadcn UI, Tailwind CSS, Radix UI
- Database: PostgreSQL with Drizzle ORM
- Authentication: Auth.js (NextAuth)
- Email: Resend
- Deployment: Vercel-ready
- Monorepo: Turborepo with pnpm workspaces
- Node.js 18+
- pnpm 8+
- PostgreSQL database
- Resend API key (for email functionality)
-
Clone the repository
git clone https://github.com/jdships/recruut.git cd recruut
-
Install dependencies
pnpm install
-
Set up environment variables
cp apps/dashboard/.env.example apps/dashboard/.env cp apps/marketing/.env.example apps/marketing/.env cp apps/agent/.env.example apps/agent/.env
-
Configure your environment variables
- Database connection string
- Auth.js secret
- Resend API key
- Other required services
-
Run database migrations
cd packages/database pnpm drizzle-kit push
-
Start the development server
pnpm dev
-
Open your browser
- Dashboard: http://localhost:3000
- Marketing: http://localhost:3001
- Agent: http://localhost:3002
recruut/
├── apps/
│ ├── dashboard/ # Main web application
│ ├── marketing/ # Marketing pages
│ └── agent/ # Job application agent
├── packages/
│ ├── auth/ # Authentication logic
│ ├── database/ # Database schema & client
│ ├── email/ # Email templates & sending
│ ├── ui/ # Design system
│ └── ... # Other shared packages
└── tooling/ # Configuration packages
We welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Make your changes
- Run tests and linting (
pnpm lint && pnpm typecheck
) - Commit your changes (
git commit -m 'feat: add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
- We use Prettier for code formatting
- ESLint for code linting
- TypeScript for type safety
- Follow our Conventional Commits specification
This project is licensed under the MIT License - see the LICENSE file for details.
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: hello@recruut.com
- Built with Next.js
- UI components from Shadcn UI
- Database powered by Drizzle ORM
- Email templates with React Email