- Real-time Speech to Text: Convert your voice to text in real-time
- Note Management: Save and organize your transcribed notes
- Expandable Notes: Click to view full content of saved notes
- Clean UI: Modern and responsive design using shadcn/ui
-
Frontend:
- React + TypeScript
- Vite
- Tailwind CSS
- shadcn/ui
- Socket.io Client
- Lucide React Icons
-
Backend:
- Node.js + Express
- Socket.io Server
- Deepgram API for Speech Recognition
- Clone the repository:
git clone https://github.com/yourusername/speaknote.git
cd speaknote
- Install dependencies for both client and server:
# Install client dependencies
cd client
npm install
# Install server dependencies
cd ../server
npm install
- Set up environment variables:
# In server directory, create .env file
DEEPGRAM_SECRET=your_deepgram_api_key
PORT=3000
- Start the development servers:
# Start the backend server
cd server
npm run dev
# In a new terminal, start the frontend
cd client
npm run dev
- Open your browser and navigate to
http://localhost:5173
- Click the "Start Recording" button to begin voice recording
- Speak into your microphone and watch the real-time transcription
- Click "Save Note" to store the transcribed text
- View your saved notes in the list below
- Click on any note to expand and view its full content
Client to Server:
audioData
: Sends audio chunks for transcription{ audio: Uint8Array, mimeType: string, size: number }
Server to Client:
transcription
: Returns transcribed textstring
- Fork the repository
- Create a new 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 - see the LICENSE file for details.