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

Live I-House Pub TV overview captured from https://pub.ihnyc-rc.org/tv/ on April 4, 2026

  • 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

PathPurpose
/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/:idCompatibility 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/events returns today’s pub events, upcoming events, announcements, slideshow slides, weekly pub hours, and the current pub-tender footer state
  • GET /api/tenders returns the active tender directory used by /tenders/
  • GET /api/image/:kind/:pageId resolves short same-origin image URLs for announcement images, tender photos, and tender QR files
  • POST /api/sync-tender-qrs is 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 lastUpdated timestamp 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/:id compatibility 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 in America/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-tenders page for shift reminders and contact information
  • Edge caching for both API endpoints

Sub-pages