goSolat
A personal prayer, Quran, and qada app that started with a machine learning experiment and became an iOS app.
visit site2021
I didn’t start goSolat because I wanted to build an Islamic app.
I started it because I was struggling to pray properly.
This started as a personal problem.
During the 2021 lockdown, I kept losing count of my rakaat. Praying at home was quiet and repetitive, and I could never quite keep my attention where it was supposed to be.
So I tried to build a machine learning model that could count them for me.
I went deep into it: I tried an ML rakaat counter using the iPhone camera, looked at movement data, recorded videos, trained models, and read papers.
The ML wasn’t the product. It just revealed the real problem. And the problem wasn’t counting. It was consistency.
I kept trying to turn the experiment into something I could actually use.

2022
By 2022, I was trying to make it a native iOS app in SwiftUI. I was still learning SwiftUI and couldn’t carry the build through. The project stalled.
I moved to the web to see whether the idea was useful before I tried to make it native again. At the time, I was solving most of the technical problems without the AI-assisted tools I have now.

2023-2024
Over 2023 and 2024, the product slowly found its centre. It became less about a general prayer tool and more about missed prayers, or qada: how to estimate what was owed, and how to keep going once the number was in front of you.

Even the visual direction was still moving around.

The qada calculator gave the problem a starting point.

The progress view gave it a direction.
Missed prayers can accumulate quietly. The calculation is tedious, and the emotional weight is real. I wanted to make the first step easier without turning it into another source of guilt.
2025
By 2025, I finally put it online.
The first web version used GatsbyJS, Tailwind and Framer Motion, hosted on Vercel. I shared it on Threads.
Within a day, around 5,000 people visited.
People showed up. That was enough reason to keep going.
2026
In 2026, I rebuilt and shipped the iOS app.

It reached roughly 100,000 downloads in 9 days.
There was no launch campaign.
No paid marketing. No influencer deals.
People started sharing it. It moved across Malaysia, Indonesia, Singapore and Brunei.
I was mostly sitting there watching it happen.
Then Wiser.my covered the launch after goSolat reached Malaysia’s top free App Store chart. Pendakwah Teknologi shared it on Facebook, and I later joined a UTM Library knowledge-sharing session.

After that, the product kept changing because people kept telling me what they needed. I used UserJot to collect feedback. Most features came from those conversations rather than a roadmap I had written at the beginning.
Qada stayed at the centre. Around it, the app grew to include prayer and ibadah tracking, Quran reading, sleep and planning, notifications, widgets, themes, menstrual mode, and the sensor-based rakaat counter.
The point was never to build a perfect streak. It was to make consistency easier to see and easier to return to.
When usage increased, I moved the web app from Vercel to Cloudflare. It is mostly static and does not need a heavy backend, so Cloudflare’s edge delivery and more predictable cost fit it better.
The infrastructure stayed intentionally simple.
The app estimates lifetime missed prayers from personal inputs, then adjusts over time as progress is logged. It accounts for gaps, exemptions and changing consistency. Prayer times and daily planning adapt to location and preferences. Recent activity makes patterns visible without turning them into pressure.
Privacy was never a feature I added later. It set the boundaries from the start.
All of this runs entirely on-device. No server calls. No data leaves your device.
No login required. No tracking. Limited analytics.
It limits what I can build. But it defines what the product is.
There is no cross-device sync, and I see less of how people use it. Those are real tradeoffs. I still prefer them for something this personal.
I’m still building it.
Right now, that means going deeper into Quran reading and hafazan, and figuring out Android with Kotlin.
The question hasn’t really changed: how do I make this a little easier for someone who is trying to pray?
I don’t think I’ve finished answering that yet.