← All projects

Selected work

Baseerah

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

Baseerah
flutterAIpythonLLM

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.

Owais Ahmed

Owais Ahmed

Data science specialist and management consultant

Proposals and data visualization

By the numbers

+15
Happy Clients
+20
software product
+200
Projects Completed
+5
Years Experience

Tech & tools

Python
NumPy
Jupyter
SQL
Git
GitHub
React
TypeScript
Supabase
Firebase
Flutter
Word
PowerPoint
Excel
AI
Open Source

Contact

info@owwwais.com
Riyadh, Saudi Arabia