Kalenda – Full-Stack Meeting Scheduling Application
About Project
Kalenda is a modern full-stack meeting scheduling platform designed to remove the friction of manual appointment planning. It enables users to define their availability, share public booking links, and automatically synchronize scheduled meetings with Google Calendar. The platform provides a smooth and intuitive experience for both hosts and guests, making meeting scheduling fast, reliable, and free of conflicts.
Project Goal
The main goal of Kalenda is to address common real-world scheduling challenges, such as endless back-and-forth messages to find a suitable time, manual calendar management that leads to conflicts, confusion around meeting times, and the need for a simple booking experience without requiring users to sign up. Kalenda streamlines the entire process into a single, shareable link, simplifying scheduling for both hosts and guests.
How It Works
Users begin by signing in and defining their available time slots. They can then create custom event types and generate public booking links. Guests can select a suitable time without creating an account. Once a booking is confirmed, it is saved to the database, and the event is automatically added to Google Calendar, ensuring a seamless scheduling experience.
🚀 Features
🔐 Authentication with Clerk – secure and seamless sign-in/sign-up experience
📅 Google Calendar Integration – automatically syncs booked meetings
⏰ Dynamic Availability Management – users can define their available time slots
🧾 Public Scheduling Page – visitors can book meetings without signing up
🧱 Clean Architecture – modular and reusable components for maintainable code
💾 Database with NeonDB and Drizzle ORM – reliable and schema-based data management
🧩 Zod Integration for Form Validation – ensures secure and type-safe user input
💅 Modern and Responsive UI – built with TailwindCSS and Shadcn/UI
🚀 Deployment with Vercel – allows fast and seamless full-stack application deployment
Tech Stack
Framework: Next.js 14 (App Router), TypeScript
Authentication: Clerk
Database: Neon PostgreSQL
ORM: Drizzle ORM
APIs: Google Calendar API
Styling: TailwindCSS, Shadcn/UI
Forms: React Hook Form, Zod
Deployment: Vercel
Database Design
Kalenda’s database is structured for clarity and efficiency. The Events table stores user-created meeting templates, the Schedules table holds confirmed bookings and selected time slots, and the Availabilities table defines user-specific availability ranges. This schema-driven approach ensures consistency and scalability.
What I Learned
Building Kalenda provided valuable hands-on experience. I gained proficiency in secure OAuth 2.0 integration with Google Calendar, schema-driven database management using Drizzle ORM, and designing public and private routes with Clerk authentication. Additionally, I honed skills in creating responsive and accessible user interfaces that deliver a smooth experience for all users.
Future Improvements
Planned improvements for Kalenda include adding email notifications and reminders, advanced calendar views for better event management, multi-calendar integrations including Outlook and Apple Calendar, and dark mode support to enhance usability and accessibility.
Thank you for taking the time to explore Kalenda!