This project is the backend server for the TLDR application. It provides APIs for transcribing meeting audio, summarizing transcripts, and sending WhatsApp notifications. The server integrates with Google Speech-to-Text, Gemini (Google Generative AI), and Twilio.
- Transcribe Audio: Converts audio files (from Google Cloud Storage) to text using Google Speech-to-Text.
- Summarize Transcripts: Uses Gemini AI to generate concise meeting summaries, including deadlines and action items.
- Send WhatsApp Notifications: Sends messages via WhatsApp using Twilio.
- Node.js (v18 or later recommended)
- Google Cloud account with Speech-to-Text enabled
- Gemini API key
- Twilio account for WhatsApp messaging
-
Clone the repository
git clone https://github.com/rishavafk/Meet_Summarizer_Extension cd Meet_Summarizer_Extension/server -
Install dependencies
npm install
-
Configure environment variables
Create a
.envfile in theserverdirectory with the following content:GEMINI_API_KEY=your_gemini_api_key TWILIO_ACCOUNT_SID=your_twilio_account_sid TWILIO_AUTH_TOKEN=your_twilio_auth_token GOOGLE_APPLICATION_CREDENTIALS=./gcloud-key.json GCS_BUCKET_NAME=your_gcs_bucket_name GCS_AUDIO_PATH=audiofiles/output.wav- Place your
gcloud-key.jsonfile in theserverdirectory. - Do not commit your
.envorgcloud-key.jsonfiles (they are in.gitignore).
- Place your
-
Run the server
npm start
server/
│
├── utils/
│ ├── gemini.js # Summarization logic
│ ├── send-whatsapp.js # WhatsApp notification logic
│ └── speechtotext.js # Speech-to-text logic
│
├── gcloud-key.json # Google Cloud credentials (ignored by git)
├── .env # Environment variables (ignored by git)
├── .gitignore
├── package.json
└── server.js # Main server entry point
- All sensitive keys and credentials are loaded from environment variables.
.gitignoreensures secrets are not tracked by git.
MIT