Quick Start

Quick Start Guide

Get Project Noir running locally in under 10 minutes. This guide covers the dashboard setup. Voice agent and Telegram worker are optional for initial setup.

Prerequisites

Node.js 20+

Required for the Next.js dashboard

Python 3.11+

Required for voice agent and Telegram worker

PostgreSQL

Or a Neon account for serverless

Service Accounts

Clerk, Stripe, Twilio, Deepgram, ElevenLabs, OpenRouter, Resend

Setup Steps

1

Clone and Install

Clone the repository and install dependencies for the Next.js dashboard.

Terminal
cd telephonia-react
cp .env.example .env.local       # Fill in all values
npm install
2

Configure Environment Variables

Copy .env.example to .env.local and fill in all required values. At minimum you need:

.env.local (minimum required)
# Database
DATABASE_URL="postgresql://..."

# Clerk Authentication
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY="pk_..."
CLERK_SECRET_KEY="sk_..."

# Optional for full functionality:
STRIPE_SECRET_KEY="sk_..."
TWILIO_ACCOUNT_SID="AC..."
TWILIO_AUTH_TOKEN="..."
RESEND_API_KEY="re_..."
OPENROUTER_API_KEY="sk-or-..."
RAILWAY_VOICE_AGENT_URL="https://..."
SENTRY_DSN="https://..."
3

Set Up Database

Push the Drizzle schema to your Neon PostgreSQL database.

Terminal
npx drizzle-kit push             # Push schema to database
npx drizzle-kit studio           # (Optional) Visual database browser
4

Start the Dashboard

Run the Next.js development server.

Terminal
npm run dev                      # http://localhost:3000

Visit http://localhost:3000 to see the landing page. Sign up via Clerk to access the dashboard.

5

(Optional) Start Voice Agent

Set up the Python voice agent for AI phone calls.

Terminal
cd voice-agent
python -m venv venv && source venv/bin/activate
pip install -r requirements.txt
cp .env.example .env             # Fill in all values
python server.py -t daily --host 0.0.0.0 --port 7860
6

(Optional) Start Telegram Worker

Set up the Python Telegram worker for automated messaging.

Terminal
cd telegram-worker
python -m venv venv && source venv/bin/activate
pip install -r requirements.txt
cp .env.example .env             # Fill in all values
uvicorn main:app --host 0.0.0.0 --port 7861

Database Migrations

Use Drizzle Kit to manage database schema changes.

Migration Commands
cd telephonia-react
npx drizzle-kit generate         # Generate migration from schema changes
npx drizzle-kit push             # Push schema directly (dev mode)
npx drizzle-kit studio           # Visual database browser

Plan Limits

Usage is tracked per-organization per calendar month. Campaign execution automatically pauses when limits are reached.

FeatureFreeStarterGrowthEnterprise
Voice minutes/mo05002,000Unlimited
Telegram messages/mo0100500Unlimited
Emails/mo05002,000Unlimited
Price (USD)Free$40/mo$99/mo$299/mo
Price (UAH)Free1,6504,10012,300

Next Steps