Aptiview is a comprehensive interview platform that leverages AI to conduct voice-based interviews, providing recruiters with detailed insights and candidates with a seamless interview experience.
- AI Voice Interviews: Conduct natural, conversational interviews using OpenAI's advanced voice models
- Real-time Transcription: Automatic speech-to-text conversion with intelligent processing
- Smart Analytics: Detailed interview scoring and candidate assessment
- Recruiter Dashboard: Comprehensive job management and candidate tracking
- Custom AI Templates: Pre-built interview contexts for different roles and industries
- Screen Recording: Automatic screenshot capture during interviews
- Audio Recording: Complete interview audio recording for review
- Role-based Access: Separate interfaces for recruiters and candidates
This project consists of two main components:
- Frontend: Next.js 14 application with TypeScript, Tailwind CSS, and Shadcn/ui
- Backend: Node.js/Express API with WebSocket support, Prisma ORM, and PostgreSQL
- Node.js 18+
- PostgreSQL database
- OpenAI API key
- Clerk account for authentication
-
Clone the repository
git clone https://github.com/Sahnik0/Aptiview.git cd Aptiview -
Setup Backend
cd backend npm install cp .env.example .env # Configure your environment variables npx prisma generate npx prisma db push npm run dev
-
Setup Frontend
cd frontend npm install cp .env.example .env # Configure your environment variables npm run dev
-
Access the application
- Frontend: http://localhost:3000
- Backend API: http://localhost:4000
- WebSocket: ws://localhost:4000
- Frontend: Deployed on Vercel
- Backend: Deployed on Render
- Database: PostgreSQL with Prisma Accelerate
See individual README files in /backend and /frontend for detailed environment variable configuration.
- Framework: Next.js 14 with App Router
- Language: TypeScript
- Styling: Tailwind CSS
- UI Components: Shadcn/ui, Radix UI
- Authentication: Clerk
- State Management: React Hooks
- Runtime: Node.js
- Framework: Express.js
- Language: TypeScript
- Database: PostgreSQL with Prisma ORM
- Real-time: WebSocket (ws)
- Authentication: Clerk
- AI: OpenAI API (GPT-4, Whisper, TTS)
Aptiview/
├── backend/ # Backend API server
│ ├── src/
│ │ ├── routes/ # API routes
│ │ ├── services/ # Business logic
│ │ ├── middleware/ # Express middleware
│ │ └── types/ # TypeScript types
│ ├── prisma/ # Database schema and migrations
│ └── uploads/ # File uploads
├── frontend/ # Frontend Next.js app
│ ├── app/ # App router pages
│ ├── components/ # Reusable UI components
│ ├── lib/ # Utility functions
│ └── hooks/ # Custom React hooks
└── README.md # This file
- Create and manage job postings
- Set custom AI interview contexts
- Review candidate interviews and recordings
- Access detailed analytics and scoring
- Manage application pipeline
- Browse available job opportunities
- Take AI-powered voice interviews
- View application status
- Complete profile setup
- Natural conversation flow
- Intelligent follow-up questions
- Automatic transcription and analysis
- Performance scoring across multiple criteria
- Customizable interview templates
- JWT-based authentication via Clerk
- CORS protection
- Input validation and sanitization
- Secure file upload handling
- Environment variable protection
The application uses PostgreSQL with Prisma ORM. Key entities include:
- Users (Recruiters & Candidates)
- Jobs and Applications
- Interviews and Recordings
- Scoring and Analytics
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
This project is licensed under the MIT License.
For issues and questions:
- Create an issue on GitHub
- Check the documentation in
/backend/README.mdand/frontend/README.md - Review the troubleshooting guides
- Video interview support
- Advanced analytics dashboard
- Integration with ATS systems
- Mobile application
- Multi-language support
- Advanced AI interview customization
Built with ❤️ by the Aptiview team