This project is a homage to Simone Giertz's Everyday Calendar.
Personally, I really like the idea of her product. However, it is also a quite expansive. That is why I created this software.
The Everyday Calendar is a digital version inspired by Simone Giertz’s original physical Everyday Calendar. Her project visualized habits in a simple, beautiful way by letting you press a button each day you complete your goal, lighting up that day on the calendar.
This project reimagines that concept using a Raspberry Pi Zero 2 W and a display. Instead of physical buttons, the digital interface allows you to track your daily progress, visualize streaks, and customize the look and behavior of the calendar.
The goal is to make habit tracking more personal, visual, and self-hosted — no apps, no cloud, just a standalone display that runs entirely on your Raspberry Pi.
- Simple setup
- Lets you track as many habits as you want
- Automatically launches on boot
- Local data storage, so no internet connection required
Original concept by Simone Giertz; Digital implementation by me (kgabriel-dev)
After you have completed the installation steps below, the Everyday Calendar will start automatically on boot. The Raspberry Pi runs a simple web server that serves a control panel.
To interact with the calendar, you need it's IP address.
The control panel can be accessed by navigating to http://<RASPBERRY_PI_IP_ADDRESS>:5500/calendar.html in your web browser.
The website is the interface of the calendar, so you can use it to mark your habits as done for the day. You do this by clicking on the respective day in the calendar view.
In the bottom right corner of the calendar, there is a settings button. Clicking it opens the settings panel, where you can:
- Add or remove habits
- Select the habit to display on the calendar
- Reset your progress on specific habits
This guide describes how to set up the Everyday Calendar project on a Raspberry Pi Zero 2 W using Raspberry Pi OS Lite (64-bit).
-
Open the Raspberry Pi Imager.
-
Select Raspberry Pi Zero 2 W as your device.
-
Choose the operating system:
Raspberry Pi OS (other) > Raspberry Pi OS Lite (64-bit) -
Flash the image to a microSD card and boot your Raspberry Pi.
After the first boot, update the system and install Git:
sudo apt update && sudo apt upgrade -y
sudo apt install git -ygit clone https://github.com/kgabriel-dev/everyday-calendar.git
cd everyday-calendar./scripts/configure.shThis script sets up all required dependencies and configurations.
To ensure the calendar can launch correctly at startup, allow the X server to be started by any user:
sudo nano /etc/X11/Xwrapper.configChange the line:
allowed_users=console
to:
allowed_users=anybody
Save the file (Ctrl + O, then Enter) and exit (Ctrl + X).
To boot directly into the session without manual login:
sudo raspi-config- Select System.
- Choose Auto-Login.
- Confirm with Yes.
sudo rebootAfter rebooting, the Everyday Calendar should start automatically.