AI-Powered Workplace Communication Training Platform
PitchPerfect is an intelligent web application that helps professionals practice and improve their workplace communication skills through AI-powered roleplay scenarios. Using Google's Gemini AI, users can engage in realistic workplace conversations and receive personalized feedback to enhance their communication effectiveness.
- π€ AI-Powered Roleplay - Realistic workplace scenarios with intelligent AI characters
- π Comprehensive Feedback - Detailed analysis and coaching after each session
- π― Personalized Training - 11-step onboarding to customize scenarios to your needs
- π Secure Authentication - Auth0-powered user management
- π± Responsive Design - Beautiful, modern UI that works on all devices
- πΎ Session History - Track your progress and review past conversations
- React - User interface library
- Next.js - React framework with SSR
- TypeScript - Type-safe JavaScript
- Tailwind CSS - Utility-first CSS framework
- Flask - Python web framework
- MongoDB - NoSQL database
- Auth0 - Authentication service
- Google Gemini API - AI language model
- Python - Backend programming
- Node.js - JavaScript runtime
HackThe6ix2025/
βββ frontend/ # Next.js React application
β βββ src/
β β βββ components/ # React components
β β β βββ chat/ # Chat interface components
β β β βββ onboarding/ # Onboarding flow components
β β βββ pages/ # Next.js pages and API routes
β β βββ hooks/ # Custom React hooks
β β βββ lib/ # Utility libraries
β β βββ styles/ # Global styles
β βββ public/ # Static assets
β βββ package.json # Frontend dependencies
βββ backend/ # Flask Python application
β βββ app/
β β βββ models/ # Database models
β β βββ routes/ # API endpoints
β β βββ services/ # Business logic
β β βββ middleware/ # Authentication middleware
β βββ requirements.txt # Python dependencies
β βββ run.py # Application entry point
βββ scripts/ # Setup and deployment scripts
βββ README.md # This file
- Node.js 16+ and npm 8+
- Python 3.8+ and pip
- Git
git clone https://github.com/VainerAriel/HackThe6ix2025.git
cd HackThe6ix2025Run the setup script to install all dependencies:
.\scripts\setup.ps1OR skip setup and let the start script handle it automatically:
.\scripts\start-dev.ps1# Install frontend dependencies
cd frontend
npm install
# Install backend dependencies
cd ../backend
pip install -r requirements.txtCreate .env files with your API keys:
Backend (backend/.env):
AUTH0_DOMAIN=your-domain.auth0.com
AUTH0_CLIENT_ID=your-client-id
AUTH0_CLIENT_SECRET=your-client-secret
MONGODB_URI=mongodb+srv://username:password@cluster.mongodb.net/pitchperfect
GEMINI_API_KEY=your-gemini-api-key
FLASK_SECRET_KEY=your-secret-key
FLASK_ENV=developmentFrontend (frontend/.env.local):
NEXT_PUBLIC_AUTH0_SECRET=your-auth0-secret
NEXT_PUBLIC_AUTH0_ISSUER_BASE_URL=https://your-domain.auth0.com
NEXT_PUBLIC_AUTH0_BASE_URL=http://localhost:3000
NEXT_PUBLIC_AUTH0_CLIENT_ID=your-client-id
NEXT_PUBLIC_AUTH0_CLIENT_SECRET=your-client-secret
NEXT_PUBLIC_API_URL=http://localhost:5000/api.\scripts\start-dev.ps1Note: This script will automatically install dependencies if they're missing.
# Terminal 1: Start backend
cd backend
python run.py
# Terminal 2: Start frontend
cd frontend
npm run dev- Frontend: http://localhost:3000
- Backend API: http://localhost:5000
# Install all dependencies
npm run install:all
# Start both servers
npm run dev
# Build for production
npm run build:frontend
# Run tests
npm run test:backend
npm run test:frontend
# Lint code
npm run lint:frontendPOST /api/chat/start_roleplay- Start AI roleplay sessionPOST /api/chat/continue_roleplay- Continue conversationPOST /api/chat/end_roleplay- End session and get feedbackPOST /api/auth/sync- Sync user data with database
- Onboarding - Complete 11-step questionnaire to customize your scenario
- Roleplay - Engage in realistic workplace conversations with AI characters
- Feedback - Receive comprehensive analysis and coaching tips
- Practice - Repeat and improve your communication skills
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License.
Built for HackThe6ix 2025 hackathon - demonstrating modern AI integration in workplace training applications.
Ready to perfect your pitch? π Start your communication training journey today!