midtown-money
Pick your nightmare client — the skeptical investor who already has an advisor, the busy professional who won't give you five minutes, the retiree who's afraid of losing everything — and have a live AI voice conversation
Core trick
Runs ElevenLabs voice personas that push back as a chosen client, then flags the exact transcript line where the rep lost them.
Description
Pick your nightmare client — the skeptical investor who already has an advisor, the busy professional who won't give you five minutes, the retiree who's afraid of losing everything — and have a live AI voice conversation that pushes back exactly like they would. When the call ends, Midtown Money shows you the exact line where you lost them, the exact words you should have said instead, and gives your manager a live view of who on the team is improving and who needs help.
README excerpt
# Finance Assistant AI-powered cold call training platform for financial advisors. ## Architecture This project is structured as a monorepo with a decoupled frontend and backend: - **Backend (`/backend`)**: Python FastAPI service handling AI orchestration (Claude), data fetching (Finny), and persistence (Blaxel/Postgres). - **Frontend (`/frontend`)**: Next.js 14+ application handling the UI and Voice WebSocket connection (ElevenLabs). ## Getting Started ### Prerequisites - Node.js 18+ - Python 3.10+ - PostgreSQL - Anthropic API key - ElevenLabs persona agent IDs for the three training personas ### Setup 1. **Environment Variables** Copy `.env.example` to `.env` in the root, then fill in the backend values. Add the frontend values to `frontend/.env.local`. 2. **Backend Setup** ```bash cd backend python -m venv venv source venv/bin/activate pip install -r requirements.txt uvicorn main:app --reload ``` 3. **Frontend Setup** ```bash cd frontend npm install npm run dev ``` Open http://localhost:3000 to view the app.