The System Book · The Works

How it all works

Everything the Diwali invitation does, how each part works, and why it was made that way.

GUESTS HOSTS The invitationone web page The dashboardbehind a passcode The Workerchecks and files The basetables of replies this phone alonekeeps small choices
One page for guests, one for the hosts, one small program between them and the tables. Small choices are kept on the guest's phone only.

Two minutes for the bold lines; about fifteen with every card open.

Part 1

The whole thing at once

Think of a front door, a guest book and a back office. The door is the page a guest opens. The guest book is the set of tables. The back office is the dashboard. The page does the welcoming; the tables do the remembering; the small program between them makes sure nothing private slips out.

33moments from earlier years, in 7 groups
10sounds, one switch for all but the lamp's bell
9routes in the Worker
9tabs on the hosts' dashboard

The names we use

The invitation
The one long web page at humsitare.com.
The lamp
The opening tap that lights the page and starts the evening.
The first-Diwali way
The short path for a guest who is new to the festival.
The stories
Seven groups of moments from earlier years: 33 in all, four of them films.
The reply
A yes or a no, with the details of each person coming.
Carry the light
The gift. A guest pledges to help with the food, the lamps and the fireworks.
The wall
The public list of those who carry the light: a name and a portrait, never an amount.
The Worker
The small program (a Cloudflare Worker) that receives what the page sends.
The base
The set of tables (in Airtable) where everything is kept.
The dashboard
The hosts' page, behind a passcode.
The dark lamp
The one part of the page whose secret is kept until the night.
A test record
A marked entry made while trying every branch, deleted afterwards.

What is public, and what is not?

PublicKept private
The invitation and everything it says, including the place: 1370 Adams Road, Bensalem PA 19020Replies, phone numbers and birth dates
The wall: a name and a portrait, for those who asked to be namedEvery amount given
These three pages, which show no guest's name and none of the photographsThe dashboard, behind a passcode

Part 2

The seven paths

The invitation is easiest to understand by following people through it. Each path is what happens, step by step, from one person's side.

1What happens when a guest opens the invitation?A lamp is offered before any question is asked.
  1. The page loads as one file. Sound is off, apart from the lamp's bell.
  2. It asks who is lighting the lamp and waits for a tap.
  3. The page lights in three beats, and the evening opens.
  4. It asks, "Is this your first Diwali?" Yes opens the short way in; no carries on.
  5. The guest scrolls through the festival, the family's way of celebrating, the shape of the evening, the practicals, ten questions and answers, and the reply.

Why: a guest should feel welcomed before they are asked for anything.

2What happens when a guest says yes?One signature counts a whole family once.
  1. The guest taps Yes, count us in.
  2. They give a name and how many are coming, up to twelve. For each person the page asks a full name and a date of birth, a phone number (needed for the first person, optional for the rest) and an optional photograph. Only the hosts see the photographs.
  3. From two people up, the page asks what to call the family. Then it asks for an entry song and anything else they would like to perform.
  4. The page sends the reply to the Worker.
  5. The Worker finds the guest by phone number. If their family is already in the base it updates that family; if not, it makes one. A family is never counted twice.
  6. The Worker files the reply in the tables, and the page answers with fireworks and a thank-you.

Why: a phone number is something every guest remembers, so it is the key. There is no account and no password.

3What happens when a guest says no?A no is still a friend, so it is kept.
  1. The guest taps Sadly, no.
  2. The page asks for three things, a phone, a name and a birth date, so they stay on the list for later gatherings.
  3. The Worker files it the same way.
  4. The page answers with a quiet lamp, not fireworks.
4What happens when a guest changes their reply?They find it by phone number; other people's phone numbers and birth dates stay hidden.
  1. The guest taps Find my reply and enters their phone number.
  2. The Worker looks the family up and sends back its details: the members' names, the family name, the entry song and the answer. Only the guest's own phone and birth date come back; the others' are left out.
  3. The guest leaves it as it is, or changes it.
  4. A change goes the same road as a reply and updates the same family.

Why: anyone who knows one phone number should not learn another person's phone number or birth date.

5What happens when a guest carries the light?A pledge is filed; the wall waits until the gift arrives.
  1. The guest picks $101, $251, $501 or $1,001, or writes another amount.
  2. They give a name, an optional family or business, a phone and an email.
  3. They choose how to be recognised: a name as it should appear, or anonymous. A photograph is optional, and is not kept for an anonymous gift.
  4. They choose how they will give, check or Zelle, and tap Pledge my gift.
  5. The Worker files the pledge, and, when the giver is named and sent one, a photograph is attached to its record.
  6. The page answers with a shower of light that can be replayed.
  7. The hosts see the pledge on the dashboard. When the gift arrives they confirm it; only then do a name and portrait join the wall.

Why: nothing is charged on the page, so a pledge is a promise between friends, and the wall is a thank-you, not a receipt.

6What happens when the hosts read the replies?A passcode, then nine sorted tabs.
  1. The hosts open the dashboard and enter a passcode.
  2. The Worker checks it and hands back a token that lasts 12 hours.
  3. The dashboard asks the Worker for the replies, using the token.
  4. Nine tabs show them: Overview, Guests, Stage, Food, Birthdays, For Nitin (a tab made for one helper), Not coming, Co-sponsors and Needs a nudge.
  5. On Co-sponsors the hosts confirm or decline a gift.

Why: the hosts need the answers sorted for the jobs they do, not one long list.

7What happens when a guest opens the dark lamp?Not told here, because telling it spoils it.

Near the middle of the evening's shape, one lamp is kept dark, and its secret is kept until the night. A guest may tap it. What follows is told only by the page itself. The closed For builders card at the end says how it is made.

Why: one surprise is worth more than a page of promises.

Part 3

The parts

One card for each part of the invitation. Each opens with its bold line, then what it's like, then how it works.

1What is the invitation page?One long web page, with a second page for the hosts.

It is plain files served by Cloudflare. It runs from the lamp to the close, and keeps small things on the guest's own phone, like whether sound is on and whether the first-Diwali question was answered. One page means one link to send.

2What is the lamp?The first screen, and the first small act.

The page asks Who is lighting it? then Tap to light the lamp. The tap lights the page in three beats, and the evening opens. An invitation should begin with a small act, not a wall of words.

3What is the first-Diwali way?A short path for guests new to the festival.

It covers what to wear, the puja, the stage, the food, what to bring and what to say. One question, is this your first Diwali?, opens or skips it, and the notes can be reopened from the menu. Nobody should stay home for fear of not knowing.

4How does the page tell the festival?In pictures, with every strange word explained.

Diwali is told through its five days (tap one to read it) and three ages it remembers. Each strange word has a plain line under it, and a note says customs differ by region and family. A festival is easier to love once its names have been explained.

5What are the stories?Seven groups of moments from earlier years.

The groups are the puja, the stage, the little ones, the couples, the family, the fireworks, and everyone: 33 moments in all, four of them short films. Tap a circle to open a group; tap the right to go on and the left to go back. A guest should see the people they are about to join.

6How does the sound work?Ten sounds, off until the guest turns them on, apart from the lamp's bell.

The sounds include a bell, a tanpura and fireworks. One switch turns them all on. A page that plays by itself in a quiet room is rude.

7What is the reply?The yes-or-no form at the end.

Who and how many, a family name, birth dates, an entry song and anything to perform. Performance picks are a starting point; the lineup is shaped together in the group chat closer to the day. Everything else can wait.

8How does "Find my reply" work?The phone number is the key.

The guest's phone number finds their family; only their own phone and birth date come back. There are no passwords to forget, and other people's phone numbers and birth dates stay hidden.

9How do directions and the calendar work?Two buttons that each offer a choice of app.

Get directions offers a choice, depending on the phone: Apple Maps, Google Maps, Waze, the phone's own maps app, or copying the address. Add to calendar offers Apple, Google or Outlook calendars, or an event file for the evening. The details should travel with the guest.

10How does "Carry the light" work?A quiet pledge, then a check or a Zelle payment.

There are four suggested amounts, $101, $251, $501 and $1,001, and any other amount. Amounts ending in one are a Diwali tradition. Nothing is charged by the page. Asking for help works best when the answer can be quiet.

11What is the wall?A thank-you list, never a scoreboard.

It shows a name and a portrait only after the hosts confirm the gift arrived, and never an amount. A guest who asks to be anonymous stays anonymous.

12What is the dark lamp?One part of the page whose secret is kept until the night.

It is told only by the page itself. A surprise told in a guide is not a surprise.

13What is the Worker?A small program with nine routes.

The nine routes are: a health check, the wall's list, a wall portrait, a dashboard photograph, the hosts' confirm-or-decline, the dashboard's data, the lookup, the reply and the gift. It checks each request and writes only to the tables it needs. The page never touches the tables itself.

14What is the base?Seven tables, five of them in use by the Worker.

The Worker uses five tables: People, Families, Events, Replies and Sponsors. The other two sit apart: an older sheet from the 2024 event, and a contact list for sending invitations. The page never deletes a record; test records are marked and removed by hand.

15What is the dashboard?The hosts' page, in nine tabs.

The tabs are Overview, Guests, Stage, Food, Birthdays, For Nitin (a tab made for one helper), Not coming, Co-sponsors and Needs a nudge. A passcode opens it for 12 hours at a time. Each job the hosts do, from the food to the stage, gets its own sorted view.

Part 4

The promises, and what runs by itself

Eight promises hold every part of the invitation.

  1. A phone number and a birth date are never shown to another guest.
  2. A gift is never shown with its amount.
  3. A guest who asks to be anonymous stays anonymous.
  4. A family is counted once, however many times it replies.
  5. Nobody is made to perform, and nobody needs an account or a password.
  6. Sound waits until the guest turns it on, apart from the bell struck by lighting the lamp.
  7. The secret behind the dark lamp is kept until the night.
  8. The page never deletes a record.

What runs by itself, and what's done by hand?

Runs by itselfDone by hand
Saving a reply, and counting a family onceSending the invitation to friends
Finding a reply by phone numberConfirming that a gift arrived
Lighting the page, fireworks and the quiet lampNudging families who have not replied
Locking the dashboard after 12 hoursRemoving test records
Showing a confirmed name and portrait on the wallAdding the night's photographs to the album

How was it checked?

Like a dress rehearsal: every door was tried before the guests came. Marked test records were made on the live system, using reserved phone numbers that cannot belong to anyone, from a phone-sized browser, with a real photograph uploaded. Every branch was walked: yes, no, change, a named gift, an anonymous gift, a gift with a portrait, and a gift confirmed and then declined on the wall. It was also tried on a real phone, and its link preview was seen in WhatsApp. The test records were deleted afterwards.

The rehearsal found one real fault: the lookup showed every family member's birth date to anyone who knew a single phone number in that family. It was fixed so that only a guest's own phone and birth date come back, the fix is live, and the checks were run again. The invitation is now open and guests are replying.

What's ahead?

  1. Designed, not yet built: the same invitation reused for the next gathering.
  2. Next: a place for this year's evening among the Moments (the part of aistrangegame.com that keeps single days), once its photographs exist.
  3. Exact timings for the evening, shared closer to the day.
For buildersThe files, tables and settings behind each card above, and how the dark lamp is made.
  • The files. The invitation is index.html and the hosts' page is dashboard.html. Photographs and films are in images/ (51 files) and sounds in sound/ (10 recordings and a credits note). A calendar file, diwali-2026.ics, sits beside them, with three notes: the tables' build, the film cuts, and the Worker's setup.
  • The stories. Seven groups with these counts: the puja 4, the stage 5, the little ones 5, the couples 5, the family 4, the fireworks 4, everyone 6. That is 33 in all. Four of them are films: stage 2, stage 3, stage 5 and couples 2.
  • The Worker. sitaron-forms on Cloudflare, with nine routes: /health, /carriers (the wall's list), /carry-photo (a wall portrait), /dash-photo, /dash-sponsor (confirm or decline a gift), /dash, /lookup, /rsvp and /sponsor. It answers only humsitare.com, its www address and two local test addresses. The dashboard passcode is checked in the Worker, which returns a signed token valid for 12 hours. All secrets live in the Worker, never in the files.
  • The lookup. It returns a person's phone and birth date only when the person found is the guest themselves; for everyone else in the family it returns the name alone.
  • The base. Seven tables. The Worker uses People, Families, Events, Replies and Sponsors. Identity is the phone number; deduplication is at family level. Gifts file to Sponsors, and photographs are attached to their records.
  • The dark lamp. A mentalist performs on the night, and the page keeps the lamp's secret until then. A guest who taps it is given a letter chosen by the light, not by them, and asked for the year they were born. That pair, the mark, is kept in the phone's own storage and sent with the reply as the Mark field of the Replies table. A hidden field on the reply carries it; it is the only thing the lamp sends. The second beat, thinking of someone who cannot be there, has no box and keeps nothing.
  • The rules we kept. Test with marked TEST records and reserved phone numbers. Use a phone-sized browser identity: the host's firewall refuses a plain script. Never delete anything: mark it and remove it by hand.