Overview
- Cloudflare Workers site powering the I-House Pub web presence at pub.ihnyc-rc.org
- Serves the public home page, the in-venue TV board, the announcements page, the tender directory, and two Worker API endpoints backed by Notion
- Resident-led project operated by Affective Technologies LLC in partnership with AVI Foodsystems
Sources: worker.js, wrangler.toml, public/index.html
Live TV Snapshot

- The live TV layout is meant to be understandable at a glance: same-day activity on the left, upcoming events and serving hours on the right, and tender/shift status in the footer
- This capture was taken from the production
/tv/page on April 4, 2026 - This updated capture includes a live overnight test event, which makes the top-left panel easier to understand in context
Pages
| Path | Purpose |
|---|---|
/ | Public landing page with serving-hours widget and primary navigation |
/tv/ | TV signage board for the venue display |
/announcements/ | Live announcements page powered by /api/events |
/tenders/ | Tender directory with modal profile cards |
/tender/:id | Compatibility redirect into a specific tender profile inside /tenders/ |
/pub-tenders/ | Separate tender-facing static guide page with shift reminders and contacts |
/tutorials/ | Tutorial index with links to individual equipment guides |
/tutorials/bar-left-controls/ | Interactive help page for the bar-left A/V panel, lights, and HDMI plate |
/menu/ | Menu page |
/specials/ | Drink specials placeholder |
/events/ | Mobile-friendly upcoming events page; shows today’s schedule and the next 14 days of pub events |
/resources/ | Resources placeholder |
Sources: public/index.html, public/tv/index.html, public/tenders/index.html, public/pub-tenders/index.html, worker.js
APIs
GET /api/eventsreturns today’s pub events, upcoming events, announcements, slideshow slides, weekly pub hours, and the current pub-tender footer stateGET /api/tendersreturns the active tender directory used by/tenders/GET /api/image/:kind/:pageIdresolves short same-origin image URLs for announcement images, tender photos, and tender QR filesPOST /api/sync-tender-qrsis the admin-only Short.io QR sync endpoint for Pub Tender pages- Both API responses are cached at the Cloudflare edge for 2 minutes
Key Features
- Live event and tender data from Notion, with placeholder responses when local credentials are missing
- TV display with featured-event logic, slideshow rotation, weekly hours, and a live footer status
- TV state synchronization anchored to the server’s
lastUpdatedtimestamp so multiple screens stay aligned even when browser sessions start at different times - Same-origin image proxy routes for TV and announcement surfaces, which avoids pushing long signed Notion file URLs directly into embedded browsers
- Tender directory with canonical deep links in the form
/tenders/?tender=<id>and a/tender/:idcompatibility redirect - Short.io-backed tender QR sync that writes canonical short links and SVG QR files back into the Pub Tender database
- Serving-hours widgets on both
/and/tv/that keep overnight shifts attached to the originating shift day inAmerica/New_York - RC event classification badges derived from the event record’s
Source Email Subject - Mobile-friendly
/events/page showing today’s schedule and upcoming events for the next 14 days, designed as a companion to the in-venue TV display - Homepage nav buttons show dynamic subtitles (e.g. “2 happening today”, “3 upcoming events”) derived from live API data
- Separate staff-facing
pub-tenderspage for shift reminders and contact information - Edge caching for both API endpoints