Self-hosted · runs on any screen
One screen for your whole family's day.
Mount a tablet on the wall or leave a browser tab open, and Family Dashboard keeps everyone in sync โ calendar, flights, weather, birthdays and reminders, updating quietly in the background.
See what it does ↓Everything the fridge whiteboard couldn't do
It's one view, always current, and nobody has to remember to update it.
Google Calendar sync
Pulls straight from your shared family calendar โ today, tomorrow, this week and the month ahead, refreshed automatically.
Live flight tracking
Mention a flight number in any calendar event โ QF401, VA963 โ and a live status card appears: on time, delayed, or in the air.
Local weather
Today's forecast sits right alongside the schedule, so nobody's caught out without a jacket or an umbrella.
Birthdays & reminders
Upcoming birthdays count down automatically, and a running reminders list keeps the small stuff from slipping through.
Week & month views
Zoom out to see the month at a glance, or focus on this week's grid โ one tap to switch between them.
Built for always-on displays
Designed to live on a wall-mounted tablet or spare monitor โ big, glanceable, and happy to stay open all day.
How it works
Connect your calendar
Link your family's Google Calendar once. Everyone keeps adding events the way they already do.
Add a flight number, if there's one
Drop an IATA flight code anywhere in an event title or description and a live tracker shows up automatically.
Put it on a screen and forget it
Open it on a tablet, spare monitor, or smart display. It refreshes itself โ no daily upkeep.
Ready to run it?
Family Dashboard is self-hosted โ you run it on your own machine or a small home server, so your family's calendar data never leaves your control.
What you'll need
- Node.js installed
- A Google Cloud project with the Calendar API enabled
- (Optional) A free AeroDataBox API key for flight tracking
Quick start
git clone https://github.com/brentonjc/family-dashboard.git
cd family-dashboard
npm install
npm run setup-auth
npm run build
npm start
Downloaded the ZIP instead? Unzip it, then run the same commands from that folder โ then open http://localhost:3000.