📖 How it works

Everything you need to plan a party and validate tickets at the door.

🧮 Calculator

Set guest count, ticket price, and venue costs. Choose an alcohol intensity preset (25–100 ml pure alcohol/person). The menu engine supports three category types:

🎫 Tickets

Create a party, then generate QR tickets for each guest. Each ticket is HMAC-signed with a key stored only in your browser — tickets cannot be forged. Print them or share via WhatsApp, Email, or as a PNG image.

📷 Scanner

Use the camera to scan QR codes at the door. Validation is three-layer: signature check → expiry → already-used. Works fully offline. For multi-scanner setups, configure a Google Sheet (see below).

☁️ Google Sheet setup (multi-scanner)

Follow these 4 steps to enable cross-device ticket validation:

1
Create a Google Sheet
Add columns: ticketId (A), used (B), usedAt (C). Add one row per ticket with its ID.
2
Add Apps Script
In the Sheet, go to Extensions → Apps Script. Paste the contents of apps-script/validate.gs from the repo.
3
Set a secret token
In Script Properties, add TOKEN = your-secret-string. Deploy as a web app (Execute as: Me, Anyone can access).
4
Configure in Scanner
Open the Scanner page, paste your deployment URL and token. Multi-scanner validation is now active.