"Dicere" (Latin: "to speak") is a hackathon project that helps users improve their public speaking by analyzing filler words and pauses.
frontend/: React + Vite applicationbackend/: Python + FastAPI server
- Node.js (v18+)
- Python (v3.9+)
- AssemblyAI API Key (Get one for free at assemblyai.com)
-
Navigate to the
backendfolder:cd backend -
Create a virtual environment (optional but recommended):
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies:
pip install -r requirements.txt
-
Configure API Key:
- Open
.envfile. - Replace
your_assemblyai_api_key_herewith your actual AssemblyAI API key.
- Open
-
Run the server:
python main.py
The server will start at
http://0.0.0.0:8000.
- Open a new terminal and navigate to the
frontendfolder:cd frontend - Install dependencies:
npm install
- Run the development server:
npm run dev
- Open the link shown (usually
http://localhost:5173) in your browser.
- Click Start Recording and answer the question displayed.
- Click Stop & Analyze when you are done.
- Wait for the analysis (it may take a few seconds to upload and transcribe).
- Review your Fluency Score, WPM, and the transcript with highlighted filler words and pauses.
- Proceed to the next question.
- Frontend: React, Vite
- Backend: FastAPI
- Speech Recognition: AssemblyAI (with
disfluencies=Truefor filler word detection)
- Base Score: 100
- Penalties:
- Fillers (um, uh): -2 points each
- Fillers (like): -1 point each
- Pauses (> 2s): -5 points each
- WPM (Target 100-180): -10 points if outside range