A beautiful, interactive story-style digital wedding invitation built with Next.js, featuring Instagram-like story navigation, elegant animations, and modern design.
- Story-Style Navigation: Tap/swipe through 10 elegant scenes like Instagram Stories
- Mobile-First Design: Optimized for mobile devices with responsive layout
- Interactive Elements: Envelope opening, animated timelines, and smooth transitions
- RSVP System: Built-in form with EmailJS integration
- Social Sharing: WhatsApp sharing, calendar export, and save-the-date functionality
- Elegant Animations: Framer Motion powered animations with floating elements
- Wedding Theme: Dusty Blue & White color scheme with romantic typography
- Colors: Dusty Blue (#A3BFD9), White (#FFFFFF), Silver (#C5C6C7), Soft Beige (#EAE6E1)
- Typography: Great Vibes (script), Playfair Display (serif)
- Mood: Calm, sacred, romantic, minimalist with modern Botswana cultural touch
- Node.js 18+
- pnpm (recommended) or npm
- Clone the repository:
git clone <repository-url>
cd our-day- Install dependencies:
pnpm install- Run the development server:
pnpm dev- Open http://localhost:3000 to view the invitation
- Envelope Intro - Interactive envelope opening
- Blessing - Family invitation with Setswana greeting
- Date & Theme - Wedding date and color theme
- Venue - Location details with Google Maps integration
- Schedule - Timeline of wedding day events
- Dress Code - Attire guidelines with color swatches
- RSVP - Interactive form for guest responses
- Scripture - Biblical blessing (Mark 10:9)
- Thank You - Sharing and calendar options
- Extras - Photo gallery and replay option
- Create an account at EmailJS
- Set up a service and email template
- Update the following in
Scene7RSVP.tsx:serviceId: Your EmailJS service IDtemplateId: Your EmailJS template IDpublicKey: Your EmailJS public key
- Add a wedding music file to
public/audio/wedding-music.mp3 - Uncomment the audio code in
WeddingStory.tsx
- Add engagement photos to
public/images/ - Add Open Graph image as
public/og-image.jpg(1200x630px)
- Tap left/right: Navigate between scenes
- Tap center: Pause/play auto-advance
- Swipe: Change scenes
- Hold: Pause current scene
- Audio toggle: Mute/unmute background music
- Build the project:
pnpm build- Deploy the
outfolder to Netlify - Set up custom domain if desired
- Connect your GitHub repository to Vercel
- Deploy automatically on push
- Framework: Next.js 15 with App Router
- Styling: Tailwind CSS v4
- Animations: Framer Motion
- Forms: React Hook Form with Zod validation
- Audio: use-sound
- Icons: Lucide React
- Gestures: React Swipeable
Update the wedding information in each scene component:
- Names, date, and location
- Schedule and timeline
- RSVP deadline
- Contact information
Modify the theme in globals.css:
- Update CSS custom properties for colors
- Change Google Fonts imports
- Adjust Tailwind color classes
Each scene is a separate component in components/wedding/scenes/ for easy customization.
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
This project is created for Koketso & Neo's wedding. Feel free to use as inspiration for your own wedding invitation.
Koketso Morapedi & Neo Letsholathebe
December 6, 2025
Letsholathebe, Botswana
"Therefore what God has joined together, let no one separate." - Mark 10:9