Why this exists
Calendar software quietly assumes it knows where you live. It shows one country's bank holidays, formats dates one way and speaks one language; the moment your life spans more than one of those assumptions the calendar stops matching reality. Underneath sits a second problem: proper eventing means RFC 5545 (the iCalendar standard) and hand-rolling recurrence rules is exactly the kind of tedious, edge-case-riddled work that drifts out of sync with real dates.
Calendifier takes both problems seriously. It carries public holidays and cultural observances for 40 countries with each country shown under its native name; the holiday region is deliberately independent of the interface language, so a Catalan speaker in Japan gets both right. Events recur through standard RRULE rules rather than a homegrown approximation, notes and events live beside an analog clock kept honest by network time synchronisation and everything imports and exports so the data stays yours.
The build was dominated by internationalisation, the hardest single thing in it. The interface runs in 13+ languages with native number and date formatting throughout and the same translation work extends to an optional Home Assistant dashboard, so the calendar was internationalised twice: once for the desktop and once for the web cards. Getting another country's holidays to render correctly under a third country's locale is the sort of problem that looks small until you are inside it.
What works now is a local-first PySide6 calendar with dark and light themes, SQLite storage on your own machine, no account and no cloud, shipped as native installers for Windows, macOS and Linux, with the Home Assistant deployment there for anyone who wants the same calendar on a wall tablet.
Full reasoning at crankthecode.com.
Calendifier