Selected work
Baseerah
A personal space for tracking habits, journaling and reflecting on your day, designed around privacy and self-awareness.

The challenge
A journal that understands you and a journal that stays private are, technically, opposites. Understanding needs a model reading your entries. Privacy means nothing leaves the phone. Every AI journaling app I looked at picked a side and stayed quiet about it, usually the wrong side, shipping your worst night to a server behind a friendly onboarding screen. Arabic added a second problem. The tools that do this well don't really do it in Arabic, and a journal you write in your second language is a journal you eventually stop writing in.
What I did
Built Basirah in Flutter with everything living on the device. No servers in the core of the app, no mandatory account, and entries encrypted with AES-256-GCM inside the database itself, so even someone holding your files reads nothing. Then I stopped treating privacy as a single switch and split the notebook in two. Regular folders can be read by Sohail, the companion that writes the Nabadat, short capsules pulled from your own entries, sometimes advice, sometimes a story, sometimes a roadmap out of a problem you keep circling. Secret folders are locked behind a fingerprint and never touched by anything, not the insights, not the analytics, not a single API call. Cloud processing at all requires you to say yes explicitly, and you can revoke it. Voice was the other decision I'm glad about. Recording and dictation run on-device without internet, because the moments people most want to journal about are rarely the moments they want to type through. Then BYOK, since trusting me is also a form of trusting a server. There's a free default model ready immediately, and if you'd rather use your own key with Gemini, OpenAI, Anthropic, or Groq, it goes into the device's secure storage and stays there. Fully local processing is what I'm working toward next. The hardest part wasn't technical. If an entry shows real distress, the app doesn't send it anywhere and doesn't hand you a cheerful auto-generated insight. It stops, and shows support resources instead. A journal is exactly where that content appears, and a language model is exactly the wrong thing to meet it with.
The result
An Arabic journal with a working AI companion and no server behind it. Entries encrypted at rest, secret folders invisible to every AI path in the app, voice and dictation working offline, and your own model key if you want one. Currently pre-launch, listed as coming soon to both stores.
