I-House NYC Platform
The pub, the programs calendar, and the shared systems that connect them, built as an independent community project for I-House residents.
Since late 2025 I have been building software for the community at International House New York (I-House), a residence for graduate students and interns, through a resident-led initiative operating as Affective Technologies LLC. Affective Technologies is an independent technical steward, not an official I-House service. The work grew from a Resident Council website into two production products and a set of shared systems. This page is the map; each product has its own write-up.
In plain words. Two real, running systems serve one building. One runs the pub: its screens, its sound and lights, and its volunteer schedule. The other gives residents a calendar that stays correct and a place to search the house’s notices. They share a few ideas about safety and privacy, and this page shows how they fit.
Where to start
- Two minutes: read the diagram below, then the products list.
- Hardware and audio: House Pub AV Control and Now Playing.
- Product and reliability: House Desk Calendar.
The products
House Pub Platform runs the I-House pub: the public site, two bar TVs, the tender scheduler, and an operator admin. Two deeper write-ups cover the room itself:
- House Pub AV Control: the Q-SYS audio system, the in-room touch panel, and the DMX lighting rig.
- Now Playing: song identification that starts at the audio DSP and ends on a bar TV.
House Desk Calendar publishes the house’s Programs calendar as a private feed that works in Apple Calendar, Google Calendar, and Outlook.
How the pieces connect
flowchart LR
Src[Newsletter, posts, documents] --> Rev[Staff review]
Rev --> HD[House Desk]
HD -->|private calendar feed| Apps[Calendar apps]
HD -->|events shared with the pub| Pub[House Pub]
Pub --> TV[Bar TVs]
House Desk is the system of record for events. The Pub does not keep its own copy of the house calendar; it reads a validated projection of the events shared with it, and their flyers, with a short-lived fallback cache. A correction made once appears on the calendar feed and on the bar TVs.
What is live and what is not
| Area | State |
|---|---|
| House Pub Platform, AV, Now Playing | In production |
| House Desk Calendar | In production |
| Shared identity and access | A non-authoritative staging beta is deployed; legacy systems remain authoritative and nothing is cut over |
| Standalone House Updates service | Built behind commissioning gates; not yet the live path |
| Native iOS app | Prototype against mock data, with a read-only staging sign-in. Pub and House Desk expose matching routes for the app, off by default; the Pub’s write routes stay refused behind a second switch |
I list the unfinished work on purpose. Most of it is about identity: today each product decides who may do what, and the plan is a single control plane that answers that question for all of them, designed to fail closed.
Principles that recur across the projects
- Nothing publishes itself. Content from email, chat, and PDFs becomes a candidate. A person reviews the exact text and publishes it.
- Fail closed. An unexplained empty calendar does not overwrite the last good feed. In the control-plane design, a stale role or catalog cannot widen access. A missing readiness flag disables a feature instead of guessing.
- Observation is not attribution. Audit logs say what was seen changing and, separately, who was proven to have changed it.
- Isolated, reviewed migrations. Each database change is its own reviewed step with a list-then-apply command, rather than a broad “migrate everything”.
- Privacy-bounded contracts. Products exchange the smallest projection that does the job, such as a title, time, and location for a landing-page rail, never the feed tokens or private source data.
Shared pieces
- A neutral admin component kit. Operator dashboards needed the same dropdown, modal, and toast. The kit ships behavior and token names only; each product supplies its own colors and fonts, and a lint check fails the build on any hard-coded color or font. According to the kit’s README, its first run against the code it was extracted from found six leaks, including a confirm button with white text on a mid-green fill at about 2.15:1 contrast.
- A public documentation site covering House Desk, the Pub, and the shared platform, kept separate from the private repositories so operators and residents can read how things work.
- Backups with their own repository and audit trail. Today they cover the pub; the desk is next.