Rift is an AI-powered personal assistant that helps you manage your calendar events and emails through a simple, natural language interface.
- Create calendar events with natural language
- Query your calendar for upcoming events
- Delete events
- Modify existing events
- View unread emails
- Search emails by subject or sender
- View email content with HTML rendering
- Reply to emails directly from the viewer
- Draft new emails with professional formatting
- OAuth2 authentication with Google
- Token storage using keytar for secure credential management
- Automatic token refresh
- Re-authentication when tokens expire or become invalid
- Cmd+Shift+Space: Show/hide the app
- Cmd+Shift+R: Reset the prompt
- Cmd+Shift+F: Store context for follow-up
- Cmd+Y: Send email draft
- Electron: Desktop application framework
- Google APIs: Calendar and Gmail integration
- Gemini AI: Intent detection and content generation
- Keytar: Secure credential storage
- Uses OAuth2 for Google API authentication
- Stores refresh tokens securely using keytar
- Automatically refreshes access tokens
- Handles re-authentication when needed
- User enters a prompt
- Intent is detected using Gemini AI
- Prompt is routed to appropriate handler
- Handler processes the request and returns a response
- Response is displayed to the user
- Clone the repository
- Install dependencies:
npm install - Create a .env file with required API keys and credentials
- Start the app:
npm start
GOOGLE_CLIENT_ID: Google OAuth client IDGOOGLE_CLIENT_SECRET: Google OAuth client secretGOOGLE_API_KEY: Google API keyGEMINI_API_KEY: Google Gemini API key
- Build for macOS:
npm run build:mac - Build for Windows:
npm run build:win - Build for Linux:
npm run build:linux