A fully static, client-side web app that manages the assignment of company visitors to tour guides during an event. Runs entirely in the browser — no backend, no database, no server required. Hosted on GitHub Pages.
- Admin uploads a pre-filled Excel file (
.xlsx) containing visitor-to-guide assignments. - The app parses the file locally, encodes all data into a QR code URL.
- Visitors scan the QR code, enter their name, and see their assigned group number.
- Guides hold up their group number on their phone outside the room.
- Visitors match their number to the correct guide and leave with them.
Prepare a .xlsx file with the following columns in the first sheet (first row is a header):
| Column A | Column B | Column C | Column D |
|---|---|---|---|
visitor_name |
guide_name |
group_number |
stays |
- visitor_name — Full name of the visitor (as they will type it).
- guide_name — Name of the assigned guide.
- group_number — The group number shown to the visitor and held by the guide.
- stays — Write
yesif the visitor stays in the room; leave empty otherwise.
| visitor_name | guide_name | group_number | stays |
|---|---|---|---|
| Anna Müller | Thomas Becker | 1 | |
| Jonas Weber | Thomas Becker | 1 | |
| Sara Keller | Lisa Huber | 2 | |
| Petra Schmid | yes |
- Open
index.htmlin a browser (or the GitHub Pages URL). - Upload your
.xlsxfile by dragging it onto the drop zone or clicking to browse. - Review the parsed assignments in the table.
- Click Generate QR Code.
- Use Copy Link or Download QR to share the QR code with visitors.
- Scan the QR code with your phone camera.
- Enter your full name and tap Find my group.
- Your assigned group number (or instruction to stay) will appear on screen.
- No data is sent to any server. All processing happens in the browser.
- The Excel file is parsed locally using the FileReader API.
- The URL hash fragment is never transmitted to the server.
- No cookies, localStorage, or sessionStorage are used.
Simply host index.html on GitHub Pages or any static file server.