Skip to content
Case study · 2025

Kalendar: Compose Calendar Widgets

An Android home screen calendar widget with public holidays and both Gregorian and Persian dates.

I wanted a simple calendar widget on my home screen that shows both Gregorian and Solar Hijri (Persian) dates. I couldn't find one I liked, so I built Kalendar. It also marks public holidays for eight countries and works in light and dark mode.

What it does

  • Comes in three widget sizes, and the layout adjusts to each one.
  • Marks public holidays for the United States, United Kingdom, Germany, France, Italy, Austria, Australia, and Iran.
  • Switches between Gregorian and Solar Hijri with one tap.
  • Uses Material Design 3 colors, so it fits in with the rest of your home screen.

How it's built

  • Jetpack Compose and Glance for the widget UI.
  • DataStore for settings, and coroutines for updates in the background.
  • Holiday and calendar rules are kept separate, so adding a new country is a small change.

It's MIT licensed. Fork it, change it, or send a PR with your country's holidays.