Skip to content

Repository files navigation

Rcruit

AI-powered interview practice tool. Create scenarios you're preparing for, build rubrics, and practice against an AI interviewer with coaching feedback.

Features

  • AI Practice Interviews - Realistic conversational interviews powered by Gemini with real-time transcription
  • Rubric-Based Evaluation - Configurable scoring criteria with automated assessment
  • Multi-Language Support - English, Spanish, French, German, Portuguese, Japanese, Korean, Chinese
  • Real-Time Voice/Video - LiveKit-powered audio/video with Deepgram STT and Deepgram TTS
  • Coaching Feedback - AI-generated practice feedback and skill assessment

Tech Stack

Layer Technology
Frontend Next.js 16, React 19, TailwindCSS 4, Radix UI
API tRPC, React Query
Database PostgreSQL, Drizzle ORM
Auth Better Auth
AI Google Gemini
Voice LiveKit, Deepgram (STT + TTS), Silero (VAD)

Project Structure

rcruit/
├── javascript/           # Shared packages
│   ├── agent/           # LiveKit AI agent worker
│   ├── db/              # Database schema & migrations
│   ├── trpc/            # API routers
│   └── ui-react/        # Shared UI components
└── web/rcruit/            # Next.js web application

Getting Started

Prerequisites

  • Node.js 20+
  • pnpm
  • Docker (for local PostgreSQL)

Installation

pnpm install

Database Setup

docker-compose up -d
pnpm --filter @rcruit/db db:migrate

Development

# Start all services
pnpm dev

# Or individually:
pnpm --filter @rcruit/web dev
pnpm --filter @rcruit/agent dev

Build

pnpm build

Scripts

Command Description
pnpm dev Start development servers
pnpm build Build all packages
pnpm typecheck Run TypeScript checks
pnpm lint Run linting
pnpm check Check formatting
pnpm fix Auto-fix lint/format issues
pnpm --filter @rcruit/db db:generate Generate database migrations (Atlas)
pnpm --filter @rcruit/db db:migrate Apply database migrations (Atlas)

Environment Variables

Create .env files with the required API keys:

  • DATABASE_URL - PostgreSQL connection string
  • BETTER_AUTH_SECRET - Authentication secret
  • BETTER_AUTH_URL - Authentication base URL
  • GOOGLE_API_KEY - Gemini API key
  • LIVEKIT_* - LiveKit credentials
  • DEEPGRAM_API_KEY - Deepgram API key (STT + TTS)
  • STRIPE_SECRET_KEY - Stripe API secret key
  • STRIPE_WEBHOOK_SECRET - Stripe webhook signing secret
  • STRIPE_PRICE_STARTER / STRIPE_PRICE_STANDARD / STRIPE_PRICE_PRO - Stripe price IDs
  • TEMPORAL_ADDRESS - Temporal server address
  • TEMPORAL_NAMESPACE - Temporal namespace (default: default)
  • TEMPORAL_API_KEY - Temporal Cloud API key (auto-enables TLS)
  • GOOGLE_CLIENT_ID / GOOGLE_CLIENT_SECRET - Google OAuth (optional)
  • MICROSOFT_CLIENT_ID / MICROSOFT_CLIENT_SECRET / MICROSOFT_TENANT_ID - Microsoft OAuth (optional)

License

Private

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages