A family scheduling app built to coordinate stays at a shared lake house. Family members can view a shared calendar, claim date ranges, and manage their bookings — all behind an invite-only authentication wall so only the right people get in.
Features
- Passwordless auth — sign in via a 6-digit email code, no passwords required
- Interactive calendar — click to select a start and end date, with real-time conflict detection
- Booking management — create and cancel your own reservations from the dashboard
- Invite-only access — new members submit a request; admins approve or deny
- Admin dashboard — manage users, review all bookings, and send invitations
- PWA support — installable on mobile as a home screen app
Screenshots
How It Works
Family members sign in by entering their email and receiving a one-time code. The calendar shows all existing bookings across the household, and users click to select their arrival and departure dates. Any already-booked dates are blocked automatically to prevent double-booking.
Admins manage access from a separate panel where they can approve registration requests and send direct invitations to new members.
Tech
Built with Next.js and TypeScript on the frontend, Tailwind CSS for styling, and Prisma with PostgreSQL for the data layer. Authentication is handled with a custom email verification code flow using nodemailer, with NextAuth.js managing sessions.