One warm surface for everything you keep track of.
Films and series, books, music, health, meals, money and habits โ with a real calendar as the spine, not a widget bolted on the side.
๐ง Under active development. Not released yet, and not yet stable.
๐ ย Four places, and they never move โ Home, Calendar, Library, Stats. Sections add shelves and feeds, never tabs. Turn one off and it leaves everywhere at once.
๐ฌ ย A title is not a row in a list โ what you rated it, how many times you have seen it, where to watch it, and the note you wrote on the way home.
๐ ย A calendar that is actually a calendar โ CalDAV, conflicts handled. Episodes, meals, doses and renewals all land on it.
๐ ย One search for everything โ titles, calendar entries and your own notes.
๐ ย Persian throughout โ right to left, Shamsi dates, Persian numerals, the week starting Saturday. Not a translation layer.
๐ ย It stays yours โ no account, no server. One file on your phone.
๐ฅ ย Bring your history โ Goodreads, StoryGraph, Letterboxd, Trakt, MyAnimeList, AniList.
Read the list above as the destination, not the odometer. Kati is 152 screens drawn and built against their artboards, on a domain layer that is largely not wired to them yet.
| โ | The screens render, in both languages, at every text size, light and dark |
| โ | The database is real โ 12 Ash domains, 37 resources, migrations run at boot |
| โ | Backup and restore, including the passphrase seal |
| โ | A genuine CalDAV client, RFC 6578 sync tokens and all |
| Most screens draw sample data. A fresh install has an empty store, so what you see is the drawing, not your library | |
| Search does not take input yet | |
| The CalDAV client has no caller in the app; no other provider has a client at all | |
| Many screens are reachable only from the developer gallery in Settings |
docs/STATE-OF-THE-APP.md is the honest, screen-by-screen version of
that table, with a citation for every line.
Kati is an Elixir app. The BEAM runs on the device and the interface is real native Jetpack Compose โ not a webview, not a bridge to JavaScript.
| Mob | Elixir on the phone, rendering native Compose. Screens are Mob.Screen modules and the ~MOB sigil is the markup. |
| Mishka Chelekom | The component library the interface is assembled from โ pills, chips, sheets, list rows, theme icons. |
| Ash | The domain layer, over SQLite on the device. |
Built and vibe coded by Shahryar Tavakkoli ยท part of Mishka Group
