Transform any text into calendar events instantly with AI
Highlight any event description on the web → Right-click → Instant calendar event
QuickCal is an intelligent Chrome extension that leverages Google's Gemini AI to automatically parse natural language event descriptions and create calendar events across multiple platforms. Built with modern web technologies and deployed on AWS Lambda for scalable, serverless processing.
- AI-Powered: Uses Google Gemini for intelligent text parsing
- Multi-Platform: Supports Google Calendar, Outlook, Apple Calendar, and more
- Serverless Architecture: AWS Lambda backend for scalability
- Zero Setup: No API keys required for users
- Privacy-First: Processes text securely without storing user data
- Extracts event details from natural language text
- Automatically determines dates, times, locations, and descriptions
- Handles various date/time formats and relative dates ("tomorrow", "next week")
- Smart fallbacks for missing information
- Google Calendar - Direct web integration
- Microsoft Outlook - Deep link support
- Apple Calendar - ICS file generation
- Other Calendars - Universal ICS format
- One-Click Operation: Right-click context menu integration
- Visual Feedback: Chrome notifications for processing status
- Error Handling: Graceful fallbacks and user-friendly error messages
- Customizable: Calendar preference settings
- Serverless Backend: AWS Lambda for cost-effective scaling
- CORS Compliant: Secure cross-origin requests
- Manifest V3: Latest Chrome extension standards
- Error Recovery: Comprehensive error handling and logging
- Highlight any text containing event information on any webpage
- Right-click and select "Add selection to calendar"
- Watch as QuickCal processes the text with AI
- Click to add the parsed event to your preferred calendar
"Team meeting tomorrow at 2 PM in Conference Room A"
→ Creates event for next day, 2:00-3:00 PM, location set
"Lunch with Sarah next Friday at 12:30 at The Italian Place"
→ Parses date, time, attendee, and location automatically
"Project deadline March 15th"
→ Creates all-day event with proper date handling
- Visit the Chrome Web Store
- Search for "QuickCal"
- Click "Add to Chrome"
- Download the latest release from Releases
- Extract the ZIP file
- Open Chrome and navigate to
chrome://extensions/ - Enable "Developer mode" (top right)
- Click "Load unpacked" and select the extracted folder
- Node.js 18+ or Python 3.9+
- AWS Account (for Lambda deployment)
- Google AI Studio Account (for Gemini API)
# Clone the repository
git clone https://github.com/chinmaygovind/QuickCal.git
cd QuickCal
# Test the extension locally
# Load the extension in Chrome developer mode
# Deploy AWS Lambda (optional - for custom deployment)
# See lambda/AWS_DEPLOYMENT.md for detailed instructionsgraph TB
A[User Highlights Text] --> B[Chrome Extension]
B --> C[Context Menu Action]
C --> D[AWS Lambda Function]
D --> E[Google Gemini API]
E --> F[Parsed Event Data]
F --> D
D --> B
B --> G[Calendar Integration]
G --> H[Google Calendar]
G --> I[Outlook Calendar]
G --> J[Apple Calendar]
- JavaScript ES6+: Modern syntax and features
- Chrome Extension API: Manifest V3 compliance
- HTML/CSS: Clean, responsive UI
- Chrome Storage API: User preferences persistence
- AWS Lambda: Serverless compute
- API Gateway: RESTful API endpoints
- CloudWatch: Logging and monitoring
- Environment Variables: Secure configuration
- Google Gemini API: Natural language processing
- Custom Prompts: Optimized for event parsing
- JSON Response Parsing: Structured data extraction
- No Data Storage: Events processed in real-time only
- Secure API Calls: HTTPS-only communication
- Environment Variables: API keys stored securely
- CORS Protection: Proper cross-origin handling
QuickCal/
├── 📁 images/ # Extension icons and assets
├── 📁 quickcal/ # Extension UI and logic
│ ├── popup.html # Extension popup interface
│ ├── init.js # Popup initialization
│ ├── styles.css # UI styling
│ └── 📁 setup/ # User setup guides
├── 📁 lambda/ # AWS Lambda functions
│ ├── lambda-function.js # Node.js implementation
│ ├── lambda-function.py # Python implementation
│ └── AWS_DEPLOYMENT.md # Deployment guide
├── manifest.json # Extension manifest (V3)
├── quickcal.js # Background service worker
├── package_extension.bat # Automated packaging
└── README.md # This file
# Package for distribution
./package_extension.bat
# Advanced packaging with options
./package_extension_advanced.bat# Test Lambda endpoint
cd lambda
python simple_test.py
# Comprehensive testing
python test_lambda.py- Lambda Function: Deploy using AWS Console, CLI, or Serverless Framework
- Extension: Package and distribute via Chrome Web Store or manual installation
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Chinmay Govind
- GitHub: @chinmaygovind
- LinkedIn: Connect with me
- Google Gemini AI for powerful natural language processing
- AWS Lambda for reliable serverless infrastructure
- Chrome Extensions API for seamless browser integration
- Open Source Community for inspiration and resources
⭐ Star this repository if you found it helpful!
Made with ❤️ by Chinmay Govind
