A React application that analyzes meeting costs and provides recommendations for optimization. Uses AI to calculate meeting ROI and integrates with Google Calendar for scheduling improved meetings.
- CSV upload for meeting and attendee data
- ICS calendar file analysis
- AI-powered meeting cost analysis
- Google Calendar integration for scheduling optimized meetings
- Backend proxy server for secure API calls
- Node.js (v16 or higher)
- npm or yarn
-
Clone the repository
-
Install dependencies:
npm install
-
Set up environment variables in
.env:ANTHROPIC_API_KEY=your_anthropic_api_key VITE_GOOGLE_CLIENT_ID=your_google_client_id VITE_GOOGLE_API_KEY=your_google_api_key
To enable Google Calendar integration:
- Go to the Google Cloud Console
- Create a new project or select an existing one
- Enable the Google Calendar API:
- Go to "APIs & Services" > "Library"
- Search for "Google Calendar API" and enable it
- Create OAuth 2.0 credentials:
- Go to "APIs & Services" > "Credentials"
- Click "Create Credentials" > "OAuth 2.0 Client IDs"
- Set application type to "Web application"
- Add authorized redirect URIs (for development:
http://localhost:5174)
- Create an API key:
- Click "Create Credentials" > "API key"
- Update your
.envfile with the credentials
-
Start the backend server:
npm run server
-
In a new terminal, start the frontend:
npm run dev
-
Open http://localhost:5174 in your browser
If you see "Failed to initialize Google Calendar API":
- Check Credentials: Ensure your
VITE_GOOGLE_CLIENT_IDandVITE_GOOGLE_API_KEYare correct - OAuth Configuration: Make sure
http://localhost:5174is added as an authorized redirect URI in Google Cloud Console - API Enabled: Verify that the Google Calendar API is enabled in your Google Cloud project
- Refresh Page: Try refreshing the page to reload the Google API script
- Use Retry Button: Click the "Retry Google API" button if it appears
If you encounter CORS errors with the Anthropic API:
- The backend proxy server handles this automatically
- Make sure both the frontend (port 5174) and backend (port 3001) are running
- Upload a CSV file with meeting information and attendee details
- Optionally upload ICS calendar files for additional context
- Click "Analyze Meeting" to get AI-powered recommendations
- Use "Schedule the Improved Meeting" to add the optimized meeting to Google Calendar
src/App.jsx- Main React componentserver.js- Express proxy server for API callspublic/example.csv- Sample CSV format.env- Environment variables (API keys)