Capability list

Everything
it actually does.

Eleven areas, all optional, all per event. This is the honest list — what is built and shipping, not a roadmap. Jump to what you care about.

44 guests26 coming5 award categories4 live polls 5 open markets12 badges8 jobs claimed3 events 44 guests26 coming5 award categories4 live polls 5 open markets12 badges8 jobs claimed3 events

01 — People

One guest book,
every party.

The single most important idea in the whole system: a person exists once, not once per event. Invite them to the New Year thing and their history, karma, photo and partner come with them.

  • Cross-event invitee records — name, email, mobile, notes, social links, and every party they've ever been on the list for.
  • Partner links are symmetric and kept in sync, so couples appear back-to-back in every list you'll ever read.
  • Admin tags — free-form, JSON-backed labels you can filter guest lists by. Sends tag themselves automatically so you can see who got what.
  • Separate WhatsApp number per guest, for the people whose WhatsApp runs on a different SIM to the one you have.
Cross-event invitee directory with photos, tags and event counts
Invitee directory · every guest, every party44 people
Guest photos
Faces are pulled from six sources in a fixed priority — WhatsApp profile photo, Instagram, Facebook, LinkedIn, Gravatar, then a manual upload as fallback. Bytes are stored in the database, not hotlinked, because every platform's CDN URLs expire.
Social linking desk
A batch screen for attaching Instagram, Facebook and LinkedIn profiles to guests, with a people-search launcher per platform and a preview-then-confirm fetch.
Photo status
Every sync records why it failed — not on WhatsApp, photo hidden, or a number shared with a partner — so the guests you can't get a face for are a filterable group rather than a mystery.
CSV import
Bulk-add a guest list from a spreadsheet, matching existing people rather than duplicating them.
Add existing guests
Pull people onto a new event straight from previous parties, filtered by who came and who ghosted.
Guest-list lock
New events start locked: no invitation, reminder or magic-link email can leave the building while you're still deciding who's on the list. Enforced per route and at the mail transport, so no send path can leak. Locked events are also hidden from guests browsing your other parties.
Guest RSVP form with attendance, travel, dietary and custom question sections
The RSVP form, as a guest sees itno login

02 — Invitations & RSVP

No accounts.
No passwords.
No excuses.

Every guest gets a personal link. Tapping it logs them in, forever, on any device. The number-one reason people don't RSVP is friction, and this removes all of it.

  • Magic links per guest per event — one for the dashboard, the RSVP, the leaderboard, voting, polls and badges.
  • Short codes for messaging: a six-character link that fits a WhatsApp message without wrapping.
  • Cross-domain login so a guest signed in on one of your party domains stays signed in on the next.
Form sections
Turn on only what you need: drinking preferences, dietary requirements, nights staying, transport, who they want to sleep near, an anonymous confession box, additional requests, party jobs, and relationship status.
Five custom questions
Your own questions with your own titles. "Your entrance track." "The 3am question." Answers become karma, feed the TV wall, and give you something to read in February.
Relationship status
Optional, with a fully custom option list per event — theme it however you like.
Four RSVP states
Coming, Not sure yet, Not coming, and no reply — plus Invited · no show for the ones who said yes and didn't turn up. Each carries its own karma weight.
Change log
Every RSVP change is appended to a permanent log, which is what powers the momentum chart, the weekly deltas and the activity feed on the host dashboard.
Capacity
Set a venue maximum and the dashboard tracks confirmed guests against it, flagging how many "not sure" could still tip it over.
Unsubscribe & preferences
Proper one-click unsubscribe and a per-guest email preference page, plus a per-event block switch for individual guests.
Open tracking
Invitation opens and page views per guest, so "never opened the link" is a chase list rather than a guess.

03 — Communications

Two channels,
one guest list.

Email for the invitation people forward to their partner. WhatsApp for the nudge people actually read. Both templated per event, both tracked per guest.

WhatsApp template editor with per-template button titles
WhatsApp templatesper event
Bulk email tool with audience selection and send controls
Bulk emailsegmented
Email template editor listing the five per-event templates
Email templates · five per eventwith previews
Event tools screen with bulk operations and diagnostics
Event tools · bulk operationshost view
Email templates
Per-event HTML for the invitation, magic links, RSVP reminder, no-reply chase and no-show note. Sent over a transactional API with monitoring addresses CC'd automatically and de-duplicated against the recipients.
Two senders
Invitations come from you and your co-host; everything else comes from the party's assistant — so the important one stands out in an inbox.
WhatsApp templates
Nine per event — invite, RSVP reminder, special request, picture reminder, info, post-RSVP welcome and three of your own — each with a custom button title so your guest list reads in your own vocabulary.
Message splitting
A --- line in a template splits it into separate sequential messages, so long copy never collapses behind WhatsApp's "Read more".
Send pacing
Guest sends are throttled to one every 45 seconds across the whole system, with randomised gaps on bulk runs. Learned the hard way: templated bursts to non-contacts get accounts flagged.
Delivery verification
Acceptance is not delivery. Every send reads WhatsApp's verdict back before the guest is recorded as messaged, so a silently-binned message stays retriable instead of looking sent.
Cold-contact routing
WhatsApp won't carry messages from an account a guest has never replied to. Sends are routed automatically — repliers hear from the party assistant, everyone else hears from you, with a footer asking them to say hello.
Post-RSVP welcome
Optional automatic message the moment a guest RSVPs Coming, in one of two variants depending on whether they've ever messaged the assistant. Claimed atomically in the database, so four servers can't send it twice.
Send history
Every successful send tags the guest with the channel, event and template name — so a guest carrying tags from six parties still reads cleanly, and your filters group them for you.
Bulk email
Compose to a segment — everyone, the coming, the quiet, the never-opened — with previews and per-guest blocks respected.
Roadmap
Telegram is not currently a supported channel; email and WhatsApp are. The send layer is channel-agnostic enough that adding one is a contained job.

04 — The guest dashboard

The page they'll
keep coming back to.

A ticket with their name on it, a countdown, their karma, and a tile grid to everything the party has going on. It changes as the party gets closer, and changes again once it's over.

  • Three phases — hype, party day, afterglow — chosen automatically from the date, with wording you can rewrite per event.
  • Party day runs to 6am, because the small hours belong to the party that's still going, not the morning after.
  • Party-night blocks surface your DJ line-up and running order inline on the night itself.
  • Quick vote panel appears on the night for guests who are coming, deep-linking straight to the right ballot.
Guest dashboard on party day with line-up and schedule blocks
Party dayautomatic
Markdown page list for an event
Markdown pages · with drip slotshost view
Markdown pages
Write as many info pages per event as you like — travel, house rules, the line-up, the schedule — in markdown, edited in the admin.
Drip slots
Any page or poll can be given an opening time. Before it, guests see a locked teaser. Anticipation, scheduled.
Photo carousel
Point the dashboard carousel at this event's photos, the whole album, or one category of it.
Page editor
A markdown editor per page with a slug, a title and an optional opening time — two reserved slugs (dj-lineup, schedule) are what surface as party-night blocks.
Who's coming
A live face wall of confirmed guests, with a running count of who's in and who's still deciding.
Event switcher
Guests invited to more than one of your parties can move between them from the dashboard — minus anything still locked.
Statistics page
A public-to-guests breakdown of the party: RSVP split, nights, dietary needs, drinks, gender balance and answers.

05 — Badges & karma

The part that turns
a list into a scene.

Points and trophies sound trivial until you watch someone screenshot their leaderboard position and post it in the group chat eleven months before the next party.

A guest's trophy cabinet showing rank, karma and awarded badges
Guest trophy cabinetall-time
Badge management screen with icons, colours and karma values
Badge libraryhost view
Karma configuration screen with per-action point weights
Karma weights · you set every numberglobal
A guest's matchmaker profile with collaboration style and interests
Matchmaker profileoptional
Badges
Define as many as you like, each with an icon, a colour, a description and a karma value. Award them to a specific party or make them event-independent lifetime honours.
Collaborative badges
Some things take a crew. Collaborative badges have minimum and maximum participant counts and a bonus for earning one together — guests open a collaboration, others join, and everyone gets the badge on completion.
Karma weights
You set every number: karma for attending, the penalty for not coming, for no-showing, for never replying at all, and the reward for answering custom questions or confessing.
Leaderboard
A ranked table of everyone you've ever invited, with a three-person podium, badge chips and rank titles that level up as karma accumulates.
Party Journey
A per-guest scrollable history: every party they were invited to, what they did, what they earned, and what's still on the table at the next one.
Badge notifications
Optional emails when a badge lands, blockable per award for the ones you'd rather announce in person.
Corrections
A guest-facing form for disputing what they've been credited with. Somebody always will.
Matchmaker
Optional per-event profiles — what someone's looking for, their collaboration style, availability, interests and social style — feeding a scored suggestion engine for who should meet whom, with a configurable weighting algorithm and a nudge ("poke") mechanic.

06 — Games

Three things to do
while the kettle boils.

Guest voting interface with award categories and nominee cards
Awardsvoting
Live polls with single choice, multi choice and free text questions
Pollslive
The Party Book prediction market with open questions and stakes
The Party Bookkarma stakes
Award voting
Unlimited categories per event, each with its own icon, colour and description. One vote per guest per category, with an optional cheer message that shows up on the TV wall next to the winner.
Auto-nomination
Categories can nominate everyone who's RSVP'd Coming automatically, refreshing as more people confirm — so you never hand-build a ballot.
Results control
Open and close voting, publish or hide results, or set an automatic closing time. A public results page and a live counts feed come free.
Polls
Single choice, multiple choice, free text or mixed. Anonymous or attributed. Optionally restricted to guests who've RSVP'd. Ordered, icon'd, colour'd, and closable on a timer.
Poll chasing
See exactly who hasn't answered, then send reminders — including an AI-drafted one written from the question itself.
The Party Book
A pari-mutuel prediction market. Guests stake karma on outcomes — what time the last person goes to bed, whether the marquee survives — and the winners split the losing pool pro-rata when you settle it.
Guest-opened markets
Let guests invent their own bets: off, propose-and-approve, or straight onto the board. Guardrails throughout — a cap on unsettled markets per guest, a stake ceiling, duplicate-question refusal, and an author can pull a market only while no karma is riding on it.
House float
Every guest gets spending headroom on top of their karma so a penalty never locks anyone out of the fun — but the float can't move you up the leaderboard. Only real winnings do.
Never your own market
Settling, voiding and closing stay with the host. A guest cannot settle a market they opened.

07 — The room

Software you can
see from the bar.

The live TV dashboard with three rotating columns
Party dashboard · open it on the TV and walk away● live
The cross-event photo album with per-photo event, guest and category tagging
Photo album · tag by event, guest and categorycross-event
Attendance check-off screen
Attendance check-off · at the doorphone
Three rotating columns
Each column cycles through the panels you pick — voting results, karma leaderboard, guest answers, portraits, matchmaker — on its own timer.
Nine saved layouts
Store nine complete configurations per event and switch between them from the TV, so the wall can change mood as the night does.
OLED protection
Pixel shift, title movement, dimming levels and a screensaver timeout — because this thing is going to be on the same screen for nine hours.
Portraits
Guest photos rotate full-bleed with names underneath, including group shots with everyone tagged.
Photo album
A cross-event album: batch-upload first, tag afterwards by event, by guest and by category. Guests then see the photos they're tagged in on their own badge page.
Attendance check-off
A phone-shaped screen for the door: everyone who said they were coming, three taps — attended, no-show, apologies — and live counts.
Answers screen
A mobile-first rotating view of guest answers, for passing round a table.
The party jobs board with claimable tasks
Jobs boardguest view

08 — Jobs

The bit where other
people help.

A board of everything that needs doing, with a leader and a crew per job. Guests claim what they fancy from their own dashboard; you stop being the only person who knows the marquee needs collecting.

  • Jobs carry a description, a day, a due date, a budget and a status.
  • One leader plus any number of crew, pickable from the guest list.
  • Guests claim and unclaim jobs themselves.
  • Upload a full HTML plan document to a job — rendered inside the party's theme, or opened exactly as supplied.

09 — Look & feel

Every party gets
its own face.

Two layers of theming. The per-event layer dresses the standard experience. The overlay layer replaces it entirely.

  • Six hero treatments — classic, halloween, alien, wedding, cocktail, disco — setting the ticket and the tone.
  • Your own fonts, heading CSS, button CSS and gradient palette per event.
  • Background and preview artwork per event, used everywhere including link previews.
  • Rewrite the wording — every tile title, the countdown caption, the ticket text and all three phase names.
  • Four full overlay themes that reskin every guest page, with their own sound and, for two of them, a character to talk to.
Theming editor with live phone preview
Theming · with live previewper event

10 — AI

Used where it earns
its keep.

No chatbot bolted to the corner of the screen. Four specific jobs where a model genuinely saves you an evening.

The party concierge

A WhatsApp assistant that knows your event inside out — the schedule, the address, who's coming, what someone RSVP'd — and answers the same four questions forty times so you don't have to. Reachable from the dashboard and from a guest's own chat thread.

In-character chats

Two themed personalities with their own web terminals: MOTHER, the ship's computer, who runs a self-destruct countdown if you push her; and Agent Scully, who takes your statement in FD-302 format. Both fall back to a scripted persona if the model is unreachable — neither will ever admit to an outage.

AI party portraits

Every portrait upload is turned into themed party artwork on two image models, each scene composed to your event's own theme and checked for uniqueness against every scene already generated — so no two guests get the same picture. Group photos are detected and the prompt adapts to keep everyone in frame.

Drafted chase messages

Poll reminders written from the question itself, so nudging the fourteen people who haven't voted on the dinner time costs one click rather than one paragraph.

Every AI feature is optional and keyed. No key, no feature — the rest of the system is unaffected. Image generation runs off the request path in a background worker, so an upload never waits on a model.

11 — Platform

It's a real application,
not a landing page.

Your data stays yours
Self-hosted end to end. Guest data never leaves the install, confessions are anonymous, and photos are stored as bytes you control rather than hotlinked from a platform that can expire them.
Hardened by default
The application ships with its own protections against hostile traffic, and an admin view of what they've caught. The specifics aren't published, for the obvious reason.

That's the list

Now go and look
at it properly.