Shaadi Vines
Software Development · Web Development

Project overview
Shaadi Vines was an Indian wedding-tech startup that brought wedding planning online. Its main product was a digital wedding invitation that worked as a complete wedding website, with the couple's story, the full schedule of functions, maps, a photo gallery, RSVPs and a live stream of the ceremony. Around it sat the tools a couple needs to plan the big day: a guest list manager, a budget planner and a shared photo gallery.
I built the Shaadi Vines web app with Next.js: the marketing site, the wedding invitation websites, the couple's planning tools and the blog. The product is no longer live, so this case study uses screenshots and the original source code.
At a glance
Client: Shaadi Vines, India
Industry: Weddings & Events
My role: Web Developer
Scope: Web app: marketing site, wedding invitation websites, guest and budget tools, photo gallery and blog
Tech stack: Next.js, React, Tailwind CSS, Radix UI, Material UI, Zustand, React Hook Form, Quill, AWS S3, Google Tag Manager, Partytown
Impact
8 invitation designs, each one a complete wedding website
1 place for the couple to manage invitations, guests, budget and photos
10 ready-made budget categories built around Indian wedding functions
A budget planner demo anyone could try without signing up
The problem
An Indian wedding is a dozen events, hundreds of guests and one very stretched budget
A typical Indian wedding isn't one event. It's a series of functions, such as the mehandi, sangeet, cocktail party and the wedding itself, often across several days and venues, with guests from both families travelling in from around the world. Planning it usually meant juggling a lot of separate pieces:
Static invitations: Printed cards and PDF invites are costly to update, get lost in WhatsApp chats, and can't hold the full picture of times, venues and directions for every function.
Guest list chaos: Families track hundreds of guests in spreadsheets and notebooks, and chase RSVPs one phone call at a time.
Budget surprises: Every function has its own caterers, decorators and photographers, so spending is hard to track and easy to overrun.
Scattered photos: After the wedding, pictures are spread across dozens of phones and group chats, and guests struggle to find the ones they're in.
Family far away: Relatives who can't travel miss the ceremonies completely.
The approach
Shaadi Vines needed to feel as warm and personal as a wedding card while doing the work of a planning app. Four principles guided the build:
The invitation is the website. Instead of a static card, every invitation is a living page that holds everything guests need and updates whenever plans change.
Built for how Indian weddings work. Multiple functions, both sides of the family, rituals and traditions are part of the structure, not an afterthought.
Mobile first. Most guests open their invitation from a WhatsApp link on their phone, so every page had to look and work perfectly on a small screen.
Try before you sign up. Couples can explore the designs and the budget planner before creating an account.
What was built
Invitations that are complete wedding websites
Couples choose from eight invitation designs. Each one is a full wedding website with the couple's names and photos, their story told through milestones, both families down to the grandparents, and an itinerary of every function with its date, time and map location. Each invitation can also switch on a photo gallery, an RSVP form and WEDcast, a live stream of the ceremony, so family who can't travel can still watch.
I built each design as a set of reusable sections that are filled in from the couple's own details. That made it quick to add new designs and variations without rebuilding the common parts every time.
A simple step-by-step form instead of a design tool
Couples don't need any design skills. A guided form walks them through their basic details, family members, itinerary, milestones and contact information, one step at a time. They then pick a design and see their invitation come to life with their own details. Every field is validated as they go, so mistakes are caught before an invitation is shared.
Guest list and RSVPs in one place
The guest manager replaces the wedding spreadsheet. Couples add guests with their phone numbers, group them as family, friends, work or others, mark who has been invited, and search or filter the list in seconds. Guests reply straight from the invitation through its RSVP form, so the couple always has an up-to-date headcount.
A budget planner built around every function
The budget planner comes with ten ready-made categories, including catering, photography, apparel and jewellery, the baraat, decoration, beauty, entertainment, honeymoon and rituals. Each category can be split by function, so catering for the mehandi, sangeet, cocktail party and wedding is tracked separately. For each item, the couple enters an estimated budget and what they've paid so far, and the planner adds up the totals and shows a progress bar. A separate tab records individual payments.
I also built a demo version filled with sample data that works without an account, so visitors could try the planner before signing up.

Wedding photos, sorted by person
After the wedding, photos are collected in one shared gallery linked to the invitation. The gallery groups photos by the people in them, so a guest can tap on their own face and see every picture they appear in. Guests can view photos full screen and download a single photo, a selection or the whole album in one go.
Content, partners and accounts
To bring in visitors through search, I built a blog with a rich-text editor where the team could write, format and edit articles with images. There was also a partner registration page where wedding businesses could sign up and choose which Shaadi Vines services they wanted to offer, such as WEDsite wedding websites, WEDcast live streaming, budget planning and guest management. Couples got secure accounts with one-time-password (OTP) sign-in and password reset.
Fast on every phone
Wedding guests often open invitations on mid-range phones and mobile data, so speed mattered. I moved Google Tag Manager and its tracking scripts off the main thread with Partytown, so analytics never slowed the page down. I also removed unused CSS, served images and videos from AWS S3, and set long-term caching on static files so repeat visits load almost instantly. A generated sitemap and robots.txt helped search engines find every public page.
Under the hood
For technical readers, a summary of how it fits together:
Framework: Next.js 13 with React 18, using file-based routing for invitations, galleries, guests, budget, blog and dashboard
UI: Tailwind CSS with Radix UI components, plus Material UI date pickers and data grids
State: Zustand stores for the budget demo, loading states and notifications
Forms: Multi-step forms with React Hook Form and schema validation using Zod and Yup
Content: Quill rich-text editor for blog posts, with image uploads and resizing
Media: AWS S3 for invitation assets, photos and videos, with person-based photo grouping and bulk downloads
Performance: Partytown for third-party scripts, PurgeCSS, SWC minification, console logs removed in production, and immutable cache headers
SEO and analytics: Generated sitemap and robots.txt, plus Google Tag Manager
Hosting: Node.js server managed with PM2
Results
Shaadi Vines brought the whole wedding into one web app, from the first invitation to the last photo, with tools shaped around how Indian families actually plan.
Invitations guests actually use. One link holds the schedule, venues, directions, RSVP, gallery and live stream for every function.
No more wedding spreadsheets. Guests, RSVPs and spending all live in one place the couple can check at any time.
Budget clarity for every function. Couples can see at a glance what each event costs and how much is still to pay.
Every guest finds their photos. Pictures are grouped by person and downloadable in a tap.
Ready to grow. A blog, analytics and search-friendly pages gave the business the foundations to attract couples.
Have a project like this?
Let's talk ↓