Web + mobile2026
Al-Murshid
A calm daily companion for Muslims, with prayer times, the Quran and reminders, on the web, iPhone and Android.
- Role
- Solo: product, design and engineering
- Year
- 2026
- Stack
- Next.js 16, Expo, React Native, TypeScript, Turborepo, Cloudflare Workers, Netlify, Maestro

The problem
Islamic apps make people choose. The all-in-one apps have depth but feel cluttered, carry ads and raise privacy doubts. The minimal ones are beautiful but shallow. Al-Murshid aims for the depth of the first with the calm of the second.
What I built
- A Next.js website and an Expo app for iOS and Android, sharing one TypeScript core in a Turborepo monorepo: prayer times, Qibla, the Hijri calendar and the Journey.
- A Quran reader with the King Fahd Complex mushaf, page by page (604 page fonts served from a Cloudflare Worker), with reciters, tajweed, tafsir and memorisation.
- Today puts the next prayer first, with reminders, home-screen and lock-screen widgets, and Fajr Rise, an alarm that follows Fajr and stops once you're up.
- Arabic first and right to left, then English and French, from one design-token package and one set of strings for web and mobile.
- Public web pages for prayer times, surahs and ayahs, with share images whose Arabic letters join properly.
How it earns trust
AI stays away from sacred text
Quran text, translations, hadith and adhkar come only from pinned published sources, untouched, and CI checks the generated content against them. No model writes, translates or edits any of it.
Tested on a phone it can't see
Development happens on Windows, with no Mac. So on every push that touches the app, a GitHub Actions job runs it in the iOS Simulator with Maestro flows, keeps the screenshots and builds the iOS app.
Speed has a budget
Public pages are Server Components with small client islands, and Lighthouse CI holds their performance budgets on every build.
Private by default
Fully usable without an account. No ads and no third-party trackers, by design.
By the numbers
- platforms from one TypeScript core
- 3platforms from one TypeScript core
- mushaf pages, page by page
- 604mushaf pages, page by page
- languages, Arabic first
- 3languages, Arabic first
- ads or trackers
- 0ads or trackers
How it fits together
- Shared coreprayer times, Qibla, HijriNext.js site
- Shared corethe same codeExpo app
- Pinned sourceschecked in CIQuran reader
- Cloudflare Worker604 page fontsQuran reader
- Expo appiOS and AndroidWidgets + alarms
01
The day, by prayer
The app leads with what matters now, then gets out of the way.




02
The Quran, and the phone app
The same TypeScript core runs the website and the iOS and Android app.



What I'd do next
Publish the signed apps to the App Store and Google Play, with the iOS Simulator flows as the release gate.