All projects
LiveFull-Stack

Digital Wedding Invitations

A self-service platform for digital wedding and engagement invitations. Couples design their invitation with a live preview, get a shareable link with a countdown and a map, and guests leave wishes.

Role
Full-Stack Developer (solo)
Timeline
Mar 2026 – Present
Year
2026
Digital Wedding Invitations
50+
Invitations sent
5
Occasion types
2
Languages (AR / EN)
01

Overview

Digital Invitations replaces printed cards with one beautiful link that couples send on WhatsApp. Each invitation has an animated opening, the couple's names, a countdown to the big day, an interactive map with directions, and a wishes section where guests leave messages.

It started as hand-built pages for a few couples, and I turned it into a self-service product. Couples fill a form with a live preview and pick an occasion (wedding, katb ketab, engagement, henna…), a template, fonts and a language. They choose their own link, and the invitation goes live once an admin approves it. I built the Next.js front-end, the admin panel and the NestJS + MongoDB API.

The problem

Printed invitations are expensive and slow, and plain WhatsApp messages feel cheap. Building a custom page for every couple by hand didn't scale.

The solution

A self-service builder with a live preview and ready templates. Every invitation gets its own slug and social preview, an admin approval step keeps quality high, and couples can request edits later with a password.

02

Who It's For

C

Couples

Design their invitation, preview it live, choose a link and share it with guests.

G

Guests

Open the invitation, follow the countdown, get directions and leave wishes.

A

Admin

Approve or reject new invitations and edit requests, and moderate comments.

03

Key Features

Live Invitation Builder

A 3-step flow (details & preview → link preview → confirm) where every change shows instantly on the invitation.

Templates & Occasions

Wedding, katb ketab, engagement, henna or custom, with templates for colors and hero layout plus Arabic and English fonts.

Countdown & Map

A live countdown to the date and time, an embedded map of the venue and one-tap directions.

Guest Wishes

Guests leave messages on the invitation, and the admin can moderate them.

Made for WhatsApp

A custom link per couple with its own Open Graph title, description and image for rich previews.

Approval & Edit Requests

New invitations and later edits stay pending until an admin approves them. Couples unlock edits with a password.

05

Architecture

01

Landing & builder

Next.js marketing page and the self-service create / edit flow

02

Invitation pages

Dynamic /[slug] route rendering the chosen template, with per-invitation metadata

03

REST API

NestJS modules: invitations (slug check, create, edit requests, approval), comments, auth

04

Storage

MongoDB for invitations and comments, with uploaded hero and OG images optimized by Sharp

06

Challenges & Solutions

From hand-built pages to a self-service product

Challenge

The first invitations were separate pages coded for each couple, so every new order meant new code and a new deploy.

Solution

I extracted the shared sections (hero, intro, countdown, map, wishes) into one dynamic invitation driven by data: occasion, template, fonts, language and texts. A single /[slug] route now renders any invitation, so new couples need no code at all.

Letting couples edit without breaking live invitations

Challenge

Couples often change the time, venue or photo after sending the link, but unreviewed changes could break an invitation guests are already using.

Solution

Edits are saved as a pending change on the invitation, unlocked with the couple's password. The live version stays untouched until an admin approves the edit and it's merged field by field, or rejects it.

Have a project like this in mind?

I'd love to help you build something great. Tell me what you're working on.

Let's talk