Calendar apps make you do all the work. You still have to figure out when you’re free, type the right fields, and remember to add things. I wanted something where I could just say “block two hours Thursday afternoon for deep work” and have it done - so I built Friday.
Features
- Add events in plain English - the AI parses intent, resolves times, and creates the event
- Two-way Google Calendar sync - your existing events show up, new ones created by Friday sync back
- Handles complicated queries like “find me a free slot next week that doesn’t conflict with my meetings”
- Voice input to chat with the AI hands-free
- Dashboard with calendar analytics
- Passkey authentication (no passwords)
TODO
- Edit and delete events through the AI
- Text-to-speech responses
- Better multi-calendar support
What I learnt
- How to build an AI agent that calls external APIs (OpenAI tool use + Google Calendar)
- OAuth flow for Google Calendar - more involved than it looks
- Passkey / WebAuthn authentication
- Designing for ambiguity - natural language input breaks in ways typed forms don’t
Built with
- Next.js
- shadcn/ui
- OpenAI SDK - AI scheduling agent
- Google Calendar API
- Better Auth - Passkey authentication
- Drizzle ORM + Neon - PostgreSQL
- Recharts - analytics dashboard
- Deployed on Vercel