← All work

2025 — now · LIVE · Product owner & lead engineer

Capture Cloud

One link per guest. One answer per event.

ahmad-erum.com

Delivered under Rumination Labs

What it is

Custom event invites, sold as a product. Each event gets its own themed site — palette, typography, ornament, music, schedule — generated from a template layer that treats the event as data, so a new client is a configuration rather than a new project. Behind the invitations sits one guest register.

The unit is a person, not an invitation

A South Asian wedding is several events with overlapping guests, two sides of a family keeping separate counts, and households that answer as a group. So the RSVP is not one button: every guest gets their own link, opening it names them, and each named person on that invitation — the guest and every family member listed with them — answers separately for each event they are invited to. Guests can fix their own details and add family members without going through the family.

The register behind it

An admin panel holds the guest list with debounced search across name, email, phone and accompanying guests, and filters for side, event, invitation state and answer. Each invitation is dispatched per guest by email or WhatsApp — whichever that guest actually uses — with a sent flag on the row so nobody is invited twice. Both sides of a family edit the same list, so every row records who added it.

What it produced

In the deployment I can show, three events ran off one 232-record register: 364 invited to the Nikkah, 345 to the Baraat, 443 to the Walima, each split by side and by accepted, declined and pending. The caterer got three counts instead of one guess. The Nikkah album closed at 209 guest-uploaded photographs from 10 contributors.

Surfaces

  • The invitation link opening: a small card greeting the guest by name with an invitation to join the celebration and a single button to open, over the closed invitation blurred behind it.
    THE LINK GREETS THE GUEST BY NAME
  • The opened invitation: Bismillah in calligraphy above a floral border, the words inviting the reader to the Nikkah and Mehndi ceremony, and the couple’s names set large in script.
    THE CARD ITSELF
  • The RSVP block: a request to confirm attendance for each guest below, one named row with Will Attend and Can’t Attend buttons, a link to update guest details or add family members, and the event date beneath.
    ONE ANSWER PER NAMED PERSON
  • The logistics section: an add-to-Google-Calendar button, the venue named and pinned on an embedded map with its address and rating, and the beginning of the suggested attire for the groom’s side with colour chips.
    CALENDAR, VENUE, WHAT TO WEAR
  • The admin panel’s RSVP statistics: one card per event showing the total invited and the accepted, declined and pending counts, each split again into groom’s side and bride’s side, above the guest table and its filters.
    THREE EVENTS, BOTH SIDES, LIVE COUNTS
  • The guest register: one row per invitation carrying the side, the events invited to, a per-event answer for the guest and each accompanying person, an invitation-sent toggle, and a send button that is either Email or WhatsApp. All guest names, emails and phone numbers are blurred.
    THE REGISTER — GUEST DETAILS REDACTED

Next

Taskeen platform contracts

One partner, four systems, four concurrent contracts.