PainPoint is a web application that serves as a CRM for startup discovery calls, with an AI-powered copilot that processes meeting recordings to generate transcripts, identify pain points, and map out insights across multiple conversations.
- Contact Management: Add, edit, and manage contacts and companies
- Meeting Management: Schedule meetings, upload recordings, and take notes
- AI-Powered Analysis:
- Transcribe meeting recordings using OpenAI
- Extract pain points and their root causes
- Identify patterns across multiple conversations
- Insights Dashboard: Visualize common pain points and understand customer needs
- Next.js 15
- React 19
- TypeScript
- Supabase (PostgreSQL database, authentication, and storage)
- OpenAI API (for transcription and analysis)
- Shadcn/UI for components
- Node.js 18+
- npm or pnpm
- Supabase account
- OpenAI API key
- Clone the repository:
git clone https://github.com/yourusername/painpoint.git
cd painpoint- Install dependencies:
npm install
# or
pnpm install- Create a
.env.localfile with your Supabase configuration (see.env.local.example):
NEXT_PUBLIC_SUPABASE_URL=your-supabase-url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-supabase-anon-key
- Run the development server:
npm run dev
# or
pnpm dev- Open http://localhost:3000 in your browser to see the application.
- Create a new project in Supabase
- Use the SQL in
supabase/schema.sqlto set up your database schema - Create a storage bucket called "recordings" for audio files
- Sign up for an account
- Add your OpenAI API key in the settings
- Create contacts and companies
- Schedule meetings
- Upload recordings and generate transcripts
- Analyze conversations to extract pain points
- View insights across multiple meetings
This application uses AWS Lambda for resource-intensive operations:
- Transcribe API: Transcription of audio recordings
- Analyze Transcript API: Analysis of transcriptions to identify pain points
- Analyze Common Pain Points API: Aggregation of pain points across meetings
-
Set up AWS credentials as GitHub secrets:
AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY
-
Also add Supabase secrets:
NEXT_PUBLIC_SUPABASE_URLSUPABASE_SERVICE_ROLE_KEY
-
Push changes to trigger GitHub workflow or run manually.
-
Add the deployed SQS queue URLs to your Vercel environment variables:
TRANSCRIBE_QUEUE_URLANALYZE_TRANSCRIPT_QUEUE_URLANALYZE_PAIN_POINTS_QUEUE_URL
To develop and test locally:
# Install AWS SDK
npm install aws-sdk --save
# Set up environment variables
export AWS_ACCESS_KEY_ID=your_key
export AWS_SECRET_ACCESS_KEY=your_secret
export AWS_REGION=us-west-2
export TRANSCRIBE_QUEUE_URL=https://sqs.us-west-2.amazonaws.com/...
export ANALYZE_TRANSCRIPT_QUEUE_URL=https://sqs.us-west-2.amazonaws.com/...
export ANALYZE_PAIN_POINTS_QUEUE_URL=https://sqs.us-west-2.amazonaws.com/...MIT