DEV Community

coolguy srt
coolguy srt

Posted on

Why I Built a Zero-Tracking React Native App in a Market Full of Data Miners

If you have ever downloaded a basic utility app—a calculator, a flashlight, or a calendar—you know the exact moment of disappointment I am talking about. You open the app, and before you can even press a button, you are hit with a 30-second unskippable video ad and a prompt demanding background GPS tracking permissions.

A few months ago, I hit my breaking point with this exact scenario in the religious tech space.

During Ramadan, millions of people wake up early for Sahur. They reach for their phones in the dark just to check the fasting schedule or find the Qibla direction. Instead of a clean, simple tool, the most popular apps on the market force users to navigate heavy ad overlays and silently harvest their location data to sell to third-party brokers. It felt completely counterintuitive to the peaceful user experience these apps are supposed to provide.

As a developer, I knew I could build something better. I didn't want a massive corporate app; I just wanted a fast, local-first tool that actually respected user privacy.

So, I opened up my IDE, spun up a new React Native project, and started building Nur: Prayer Times & Quran. My goal was simple: engineer a feature-rich utility app that keeps absolutely all location and usage data locked locally on the device, while keeping the UI completely out of the user's way.

Here is how I structured the app to be privacy-first, and the technical hurdles I had to solve along the way.

The Architecture: React Native & Keeping it Local
When you are building a utility app that people use multiple times a day—especially right after waking up—speed is everything. I chose React Native because it allowed me to build a fluid, cross-platform UI, but I had to be incredibly careful about bloat.

The biggest technical challenge was handling the core features: accurate prayer times based on global coordinates and a 3D Qibla compass.

Most apps in this space ping a remote server to calculate this, which means they are constantly logging the user's IP and GPS location. I engineered Nur to handle all of this math locally on the device. By using optimized local libraries to calculate the sun's position and the device's magnetometer for the compass, the app functions perfectly even if you turn on airplane mode. Zero server pings. Zero data harvesting.

Monetization Without the Dark Patterns
I am an indie developer, so I still need to keep the lights on, but I refused to use the predatory monetization tactics I hated in other apps.

Instead of unskippable 30-second video ads or confusing subscription traps, I kept it completely transparent. The free version has standard, non-intrusive banner ads that don't block the UI.

For the premium side, I integrated RevenueCat. If a user wants to support the app and remove ads forever, it is a single, straightforward in-app purchase. RevenueCat handles the entitlement cleanly in the background. No dark patterns, no tricks.

The Takeaway
Building Nur reminded me why I got into software development in the first place: to solve actual problems without compromising on user respect.

If you are a developer, an indie hacker, or just someone interested in how local-first utility apps are structured, I would love for you to check it out. It is fully live just in time for Ramadan.

You can download Nur here: https://play.google.com/store/apps/details?id=com.nurprayertimesquran

Let me know what you think of the UI or the local calculation speed in the comments!

Top comments (0)