The app provides instant feedback on speaking metrics such as Words Per Minute (WPM), filler word usage, and overall pacing using OpenAI's speech recognition models for accurate transcription.
SpeechScore.mov
- Real-time Transcription: Converts speech to text on the fly.
- Speech Analysis:
- WPM (Words Per Minute): Tracks speaking speed in real-time.
- Filler Word Detection: Identifies and highlights common filler words (um, uh, like, you know, etc.).
- Pacing Analysis: Visualizes speaking pace trends over time.
- Visual Dashboard: Interactive charts and metrics to visualize performance.
- Mock Mode: Test the application's UI and analysis features without using a microphone.
- Framework: Next.js 16 (App Router)
- Language: TypeScript
- AI Integration: Vercel AI SDK
- Styling: Tailwind CSS 4
- Components: ShadCn
- Visualizations: Recharts
- Animations: Motion
- Testing: Vitest & React Testing Library
- Node.js (v18 or higher recommended)
- pnpm (v9 or higher)
- An OpenAI API Key
-
Clone the repository:
git clone git@github.com:suveshmoza/SpeechScore.git cd speech-score -
Install dependencies:
pnpm install
-
Set up environment variables: Create a
.env.localfile in the root directory and add your OpenAI API key:OPENAI_API_KEY=your_openai_api_key_here
-
Start the development server:
pnpm dev
-
Open http://localhost:3000 in your browser.
- Grant Microphone Access: Allow the browser to access your microphone when prompted.
- Start Recording: Click the microphone button to begin analyzing your speech.
- View Metrics: Watch as the dashboard updates in real-time with your transcript, WPM chart, and filler word counts.
- Review: Stop recording to see a summary of your session.
pnpm dev: Starts the development server.pnpm build: Builds the application for production.pnpm start: Runs the built production application.pnpm test: Runs the test suite.pnpm lint: Runs ESLint to check for code quality issues.