Public
Like
Reminder
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in miliseconds.
index.ts
https://Syphrose1990--81169d6c3faa11f0a74176b3cceeab13.web.val.run
A smart calendar management application that connects to your Google Calendar to:
- Send 30-minute reminders for all events via email and web notifications
- Automatically find free time slots during business hours (8 AM - 5 PM)
- Suggest and schedule meetings during available periods
- Provide an intuitive interface for calendar management
- Smart Reminders: 30-minute email and web notifications for all events
- Business Hours Focus: Only suggests meetings between 8 AM - 5 PM on weekdays
- Free Time Detection: Automatically identify available slots in your calendar
- Meeting Scheduler: Schedule meetings during detected free periods
- Real-time Updates: Live calendar synchronization
- Responsive Design: Works on desktop and mobile devices
-
Go to 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"
- Click "Enable"
-
Create OAuth 2.0 credentials:
- Go to "APIs & Services" > "Credentials"
- Click "Create Credentials" > "OAuth 2.0 Client ID"
- Choose "Web application"
- Add your Val Town URL to "Authorized JavaScript origins"
- Add
postmessage
to "Authorized redirect URIs"
- In your Val Town project, go to Settings
- Add these environment variables:
GOOGLE_CLIENT_ID=your_google_client_id_here GOOGLE_CLIENT_SECRET=your_google_client_secret_here
- The backend is already configured as an HTTP val at
/backend/index.ts
- Visit your Val Town URL to access the application
- Click "Connect Google Calendar" to authenticate
- Grant permissions for calendar access
- View Events: See all upcoming events with 30-minute reminder notifications
- Check Free Time: View available time slots during business hours
- Schedule Meetings: Use the meeting scheduler to automatically find and book available times
- Configure Settings: Adjust notification preferences (already set to your requirements)
├── backend/
│ ├── index.ts # Main HTTP entry point
│ └── services/
│ ├── auth.ts # Google OAuth authentication
│ ├── calendar.ts # Calendar operations
│ └── reminder.ts # Reminder notifications
├── frontend/
│ ├── index.html # Main HTML template
│ ├── index.tsx # React entry point
│ └── components/
│ ├── App.tsx # Main app component
│ ├── Dashboard.tsx # Main dashboard
│ ├── LoginScreen.tsx # Authentication screen
│ ├── EventList.tsx # Event display
│ ├── FreeTimeSlots.tsx # Free time display
│ ├── MeetingScheduler.tsx # Meeting scheduling
│ └── ReminderSettings.tsx # Settings panel
└── shared/
├── types.ts # TypeScript interfaces
└── utils.ts # Shared utility functions
✅ Google Calendar Integration: Connects to your Google Calendar
✅ 30-minute Reminders: Email and web notifications 30 minutes before events
✅ Business Hours: 8 AM - 5 PM weekdays only for meeting suggestions
✅ Email Notifications: Automatic email reminders
✅ Web Notifications: Browser notifications when the app is open
- Authentication Issues: Make sure your Google Client ID is correctly set in environment variables
- No Notifications: Enable browser notifications when prompted
- No Free Time: Check that you have gaps in your calendar during business hours
- API Errors: Verify that Google Calendar API is enabled in your Google Cloud project
- The app will automatically check for reminders every minute
- Email notifications are sent via Val Town's email service
- Web notifications appear in your browser
- All meeting suggestions respect your business hours (8 AM - 5 PM)