1 · Connect your calendars
The board's biggest panels are the week calendar and “Around Town” — they stay up to date by themselves once you connect the calendars your family already uses. Pick where each calendar lives, paste its share link, and give it a name you'll recognize. Not sure where to find the link? Open “Where do I find this link?” under each row.
How this works (30 seconds)
You paste a private “subscription link” for each calendar. When you finish, this page hands
you two files: config.js and sync/sources.json. A small sync script
(sync/calendar-sync.cjs) runs on the computer that powers the board, follows those
links a few times an hour, and refreshes two plain files the board reads — that's why your links
and passwords never appear in the board itself. Full steps are in the checklist at the bottom.
2 · Community & external sources
Local happenings that live somewhere else: the city or school calendar, a church, a sports league. If it offers an iCal / ICS / webcal link, paste it here and it flows into “Around Town” automatically. Facebook pages don't offer feeds — connect the page anyway and the board keeps it on the checklist for you to add its big events by hand (step 7).
3 · Your family
The name shown in the board header, and the people it belongs to. Colors are picked for you — click a swatch to change one. “Everyone” is added automatically for shared events. Birthdays & anniversaries added below repeat every year on their own — when one is close, the board shows a small “Next up” line under the week.
4 · Home base
Used for the live weather panel (open-meteo — free, no account). A city name is enough; coordinates make it slightly more precise.
5 · Weekly rhythm
Things that happen every week — church, practices, work nights, small group. Times are optional (leave both blank for an all-day note). If a calendar you connected already has one of these, the board shows it once — remove the manual copy whenever you like.
6 · Chores & tasks
Tap-to-check-off chores. Daily and weekly ones reset themselves when the next cycle starts.
7 · Around town — events to pin (optional)
Local happenings you want to pin by hand — farmers markets, festivals, parades. Anything you connected in step 2 flows in automatically; if a pinned event matches a connected one (same day + name), the pinned one wins. “One date” events disappear on their own the day after they pass.
8 · Dinner plan
One line per night. Once you fill in at least one, blank nights show “TBD”; leave them all blank to skip the dinner plan.
9 · Message board (optional)
Short notes for each other. You can always add more later by editing config.js.
Finishing up — save these two files
- config.js — save it next to your board's
index.html(replace the sample one). That's everything from this form. - sources.json — save it inside the board's
sync/folder, next tocalendar-sync.cjs. It holds your private calendar links and stays on your computer. - Test the connections — open Terminal in the board folder and run
node sync/calendar-sync.cjs --check. You'll get one line per calendar:[ok]means it read your events;[FAIL]tells you which link to re-copy. - Fill the board — run
node sync/calendar-sync.cjs(no flags). It writes the two feed files the board reads; reload the board and your week + “Around Town” are live. - Keep it fresh — the README shows how to run the sync automatically every half hour, so your calendars update themselves from then on.
No calendars to connect yet? Leave step 1 blank and skip step 2 — the board works fine with just the hand-entered items, and you can connect calendars any time by coming back to this page.
Preview the generated config.js
Preview the generated sync/sources.json
Generated files use the same format as the samples — you can fine-tune anything by hand afterwards.