Skip to content

Repository files navigation

TinaAI 🤖

Next-Gen AI Interviewer Platform

Automate and enhance your hiring process with intelligent, empathetic, and efficient AI interviewers.

Watch Project Walkthrough

TypeScript Next.js Tailwind CSS Supabase Prisma OpenAI

📖 Overview

TinaAI is a comprehensive platform designed to revolutionize the recruitment application process. By leveraging advanced Large Language Models (LLMs) and voice technologies, TinaAI allows organizations to create custom AI agents that conduct initial phone screens and interviews. These agents can be tailored with specific personality traits, expertise, and objectives to ensure a perfect cultural and technical fit.

✨ Key Features

  • 🤖 Custom AI Agents: Create interviewers with adjustable parameters like Empathy, Exploration, Rapport, and Speed.
  • 🎙️ Voice-Native Interactions: Powered by Retell AI for natural, low-latency voice conversations.
  • 📋 Campaign Management: Organize interviews into campaigns with valid objectives, custom questions, and detailed descriptions.
  • 🏢 Multi-Tenancy: Built for organizations with role-based access control and plan management (Free/Pro tiers).
  • 📊 Smart Analytics:
    • Detailed transcripts and audio recordings.
    • Automated candidate scoring and feedback.
    • Key insights extraction.
    • Duration and engagement tracking.
  • 🔐 Secure & Scalable: Authentication via Clerk and database management with Supabase.

🛠️ Tech Stack

🚀 Getting Started

Follow these steps to set up the project locally.

Prerequisites

  • Node.js (v18+ recommended)
  • npm or yarn
  • Docker (optional, for containerized deployment)

1. Clone the Repository

git clone https://github.com/your-username/tina-ai.git
cd tina-ai

2. Install Dependencies

yarn install
# or
npm install

3. Environment Configuration

Create a .env file in the root directory. You can start by copying the example:

cp .env.example .env

Fill in the required environment variables:

# App Configuration
NEXT_PUBLIC_LIVE_URL=http://localhost:3000

# Authentication (Clerk)
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_test_...
CLERK_SECRET_KEY=sk_test_...
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/dashboard
NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/dashboard

# Database (Supabase)
NEXT_PUBLIC_SUPABASE_URL=https://your-project.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key

# AI Services
GEMINI_API_KEY=your-gemini-key
OPENAI_API_KEY=your-openai-key # If used
RETELL_API_KEY=your-retell-key # For voice services

4. Database Setup

Ensure your Supabase instance is running or connected. If using Prisma:

npx prisma generate
npx prisma db push

(Note: Refer to supabase_schema.sql for the raw SQL schema if not using Prisma migrations fully).

5. Run the Application

Start the development server:

yarn dev
# or
npm run dev

Open http://localhost:3000 with your browser to see the result.

📂 Project Structure

├── src
│   ├── app          # Next.js App Router pages and API routes
│   ├── components   # Reusable UI components
│   ├── contexts     # React Context providers (e.g., InterviewersContext)
│   ├── lib          # Utility functions and library configurations
│   └── styles       # Global styles
├── public           # Static assets
├── prisma           # Prisma schema and migrations (if applicable)
├── .env.example     # Environment variable template
├── package.json     # Dependencies and scripts
└── ...

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages