-
-
Notifications
You must be signed in to change notification settings - Fork 1
Birthdays
The /birthdays page — family + extended-family birthday tracking with countdown + a year-ring visualization.

Tap + Add birthday on the page or via Settings → Family members → people who have a birthday recorded show up automatically.
Birthday entry asks for:
- Name
- Date — full date including year (year used for "turning N" math)
- Person (optional) — if this birthday is for an existing family member, link to their row to inherit color
- Notes (optional) — gift ideas, what they like, allergies for kid party invites
Birthdays without a linked person stay separate from the family-member list. Useful for:
- Grandparents who aren't on the dashboard but you want to remember
- Friends and extended family
- Children's classmates whose parties you need to plan around
The headline UI element: a circular SVG showing 12 month sectors, today as a tick mark, and one colored dot per upcoming birthday positioned by date. Birthdays in the next 30 days are larger + show the person's name.
TODO: screenshot of the year ring at full size
The center shows the total count of tracked birthdays.
Below the ring: a chronologically-sorted list of birthdays, starting from today and wrapping to next year. Each card shows:
- Avatar / colored dot
- Name + age the person is turning
- Date (formatted per locale)
- Days until / "Today!" / "Tomorrow"
- Linked notes (gift ideas, etc.)
The first card (closest birthday) is enlarged for emphasis.
The dashboard's birthday widget surfaces:
- The next 3 upcoming birthdays
- A "🎂 happening today" banner if anyone has a birthday today
The today-strip ribbon also shows birthday names if today's the day.
Currently no push notification for birthdays (planned for v1.1 — same cron infra as the todo daily digest). For now, the daily glance at the dashboard surfaces them.
You can add a Google Calendar entry the day before any birthday and it'll show up via the regular Calendar events flow if you want a reminder integrated with the calendar widget.
- Stored in
public.birthdays - One row per birthday (not aggregated by person)
- Real-time published — adding on a phone updates the ring on the kitchen wall in ~1 s
- Visual cue for kid parties: the year ring makes it easy to see "oh there's two birthdays in May, plan accordingly"
- Gift idea capture: the notes field is a year-round dumping ground for ideas — "she liked the puzzle book at Anna's house, would be a good 8th-birthday gift"
- Extended-family awareness: add aunts/uncles/cousins so the kids learn to remember them too
- Anniversaries (wedding, etc.) — workaround: add as a birthday with a date, name them "Wedding anniversary"
- Reminder N days before — planned for v1.1
- Per-person photo on the ring — only color dots; bringing in avatars is on the v1.2 wishlist
- Birthday cards / message generation — out of scope
- Family-Members — link birthdays to family members for color matching
- Calendar — birthdays also appear as all-day events on the calendar
- Dashboard — birthday widget
Kinboard on GitHub · Sponsor · Buy me a coffee · Report a bug · MIT-licensed
Getting started
Operations
Integrations
Kiosk hardware
Built-in features
- Dashboard
- Calendar
- Shopping
- Recipes & meal planning
- Tasks & todos
- Notes
- Birthdays
- School schedule
- Smart home & energy
- Screensaver
- Family members
- Devices
- Notifications
- Themes
Plugins (per-family on/off)
Contributing