htmx calendar from a server-rendered table

The server renders a bookings table and an on-call rota as plain tables. Lattice turns the first into a calendar bound to its grid and the second into a calendar of its own, with no mount code, and htmx handles the swaps, the out-of-band update and the save. A stand-in server answers htmx's requests in your browser, so nothing leaves the page.

Bookings: a calendar bound to a grid

BookingTeam StartEnd
Icon auditDesign2026-10-012026-10-02
Capacity reviewPlatform2026-10-022026-10-02
Release freezePlatform2026-10-052026-10-07
Design reviewDesign2026-10-062026-10-06
Ticket triage clinicSupport2026-10-062026-10-07
On-call handoverSupport2026-10-082026-10-08
Accessibility reviewDesign2026-10-082026-10-09
Security patch windowPlatform2026-10-092026-10-09
Load test windowPlatform2026-10-122026-10-14
Brand workshopDesign2026-10-132026-10-13
Knowledge base sprintSupport2026-10-122026-10-14
Support rota changeSupport2026-10-152026-10-16
Design office hoursDesign2026-10-142026-10-14
API deprecation noticePlatform2026-10-152026-10-15
Prototype testingDesign2026-10-162026-10-16
Chaos dayPlatform2026-10-162026-10-16
Database migrationPlatform2026-10-192026-10-20
Usability sessionsDesign2026-10-202026-10-22
Incident reviewSupport2026-10-212026-10-21
Cache rolloutPlatform2026-10-212026-10-22
Macro clean-upSupport2026-10-192026-10-19
Customer advisory callSupport2026-10-222026-10-22
Dark mode paletteDesign2026-10-232026-10-23
Observability trainingPlatform2026-10-232026-10-23
Quarterly planningPlatform2026-10-262026-10-27
Escalation drillSupport2026-10-272026-10-27
Style guide handoffDesign2026-10-282026-10-28
Illustration reviewDesign2026-10-262026-10-26
Customer webinarSupport2026-10-292026-10-29
Dependency upgradesPlatform2026-10-282026-10-30
Month-end reportSupport2026-10-302026-10-30
RetrospectivePlatform2026-10-302026-10-30
Release planningPlatform2026-09-282026-09-30
Research readoutDesign2026-09-302026-09-30
Holiday cover planSupport2026-09-292026-09-30
Pricing page launchDesign2026-11-022026-11-03
Failover rehearsalPlatform2026-11-032026-11-04
New starter onboardingSupport2026-11-022026-11-04

On-call rota: a calendar built from a table

On callFromTo
Ana Lopez2026-09-282026-10-01
Ben Okafor2026-10-022026-10-05
Ana Lopez2026-10-062026-10-09
Ben Okafor2026-10-102026-10-11
Priya Raman2026-10-122026-10-14
Ben Okafor2026-10-152026-10-18
Ana Lopez2026-10-192026-10-22
Priya Raman2026-10-232026-10-26
Ben Okafor2026-10-272026-10-30
Chloe Marsh2026-09-282026-10-02
Dev Patel2026-10-032026-10-06
Hana Kimura2026-10-072026-10-11
Chloe Marsh2026-10-122026-10-13
Dev Patel2026-10-142026-10-18
Hana Kimura2026-10-192026-10-23
Chloe Marsh2026-10-242026-10-28
Dev Patel2026-10-292026-11-02
Eva Lindqvist2026-09-282026-10-01
Femi Adeyemi2026-10-022026-10-04
Gus Moreno2026-10-052026-10-11
Eva Lindqvist2026-10-122026-10-15
Femi Adeyemi2026-10-162026-10-18
Gus Moreno2026-10-192026-10-25
Eva Lindqvist2026-10-262026-10-29
Femi Adeyemi2026-10-302026-11-01

Saved by the server