DEV Community

Siswoyo Siswoyo
Siswoyo Siswoyo

Posted on

Redis-Powered Prayer Times App: Location-Aware Islamic Schedule

Redis AI Challenge: Beyond the Cache

This is a submission for the Redis AI Challenge: Beyond the Cache.

What I Built

I built a location-aware prayer time web app that delivers three core features:

  1. Mosque-Specific Display

    Each mosque has a unique URL that shows its daily prayer schedule, name, address, and date. The times are accurate based on its stored latitude and longitude.

  2. Browser-Based Location Detection

    When users visit the general homepage (https://redis-prayer-times.netlify.app), the app detects their location using the browser’s geolocation API, fetches their latitude and longitude, and then displays prayer times specific to their location.

  3. Nearby Mosque Finder
    The app also helps users discover nearby mosques using Redis GEO. Based on the user's location, Redis efficiently finds and returns the closest mosques within a configurable radius.

This makes it easy for both mosque administrators and everyday users to access accurate prayer times tailored to their precise location.


Demo

🌐 Live Website:

How I Used Redis Cloud

This project uses Redis Cloud beyond caching in the following ways:

Redis GEO

How It Works

  1. Each mosque's coordinates (latitude, longitude) are stored in Redis using GEOADD, with their mosque ID or name as the key.

  2. When a user's location is detected via the browser:

  • The app executes GEOSEARCH to find the nearest mosque(s) within a certain radius (e.g., 5km or 10km).

  • If a nearby mosque is found, the app uses its exact location to fetch the corresponding prayer times. The mosque’s name and address are also displayed to the user.


Tech Stack

  • Frontend: Vue.js + Tailwind CSS
  • Backend: Netlify Functions (Node.js)
  • Database: Redis Cloud
  • Deployment: Netlify
  • Geolocation: HTML5 Geolocation API + Redis GEO
https://github.com/siswoyo-dev/redis-prayer-times
Enter fullscreen mode Exit fullscreen mode

βœ… This app makes prayer time tracking easy, accessible, and personalized β€” powered efficiently with Redis!


Screenshot

Home Screenshot

Home Screenshot

Nearby Mosques Screenshot

Nearby Mosques Screenshot

Mosque-Specific Screenshot

Masjid Istiqlal Screenshot

Top comments (8)

Collapse
 
putrarpdev profile image
Putra Rizki Pradana • Edited

Assalamu’alaikum Mas Siswoyo,

I just came across your post about the Redis-powered, location-aware prayer times app β€” and mashallah, this is such a meaningful project for masjids and the community. Practical, elegant, and full of potential!

I’m interested in joining the development. I’ve been working on various projects in the tech space, and this one caught my attention β€” finally, something that combines code and barakah! πŸ˜„

I’d love to contribute, maybe by helping improve the display for masjid screens, adding schedule management features (like Jum’ah or kajian reminders), or anything else the community might need. Even a "5-minute to Iqamah" notifier with a gentle nudge: β€œPak, tinggalin wudhu-nya dulu ya πŸ˜….”

Let me know if you’re open to collaboration β€” would love to support and grow this together, insyaAllah.

Wassalamu’alaikum,
Putra Rizki Pradana
P.S. If VS Code had a plugin for pahala, this project would already have 100 stars. β­πŸ™

Collapse
 
siswoyo profile image
Siswoyo Siswoyo

Wa’alaikumussalam warahmatullah, Mas Putra Rizki,

Masya Allah, jazakallah khair for your kind and uplifting message! I truly appreciate your thoughtful words β€” it’s inspiring to see how this simple idea can connect with others who share the same vision of using tech for something meaningful and full of barakah.

I’m absolutely open to collaborating and growing this project together. Your suggestions β€” screen display optimization, Jum’ah/kajian schedule reminders, and even the β€œ5-minute to Iqamah” notifier β€” are brilliant and exactly the kind of practical features that can elevate the experience for the masjid and its community.

You can join via GitHub β€” here’s the repository:
πŸ‘‰ github.com/siswoyo-dev/redis-praye...

Feel free to fork the repo, submit pull requests, or open discussions for any new ideas. I look forward to building something impactful together, Insha'Allah.

Once again, thank you for your support and sincere intention.

Wassalamu’alaikum warahmatullahi wabarakatuh,
Siswoyo

Collapse
 
vignesh_e_cd8eaf2797e71ba profile image
VIGNESH E

Hi sir, I am a student studying first year cse...i have a doubt in your project?
How and from where you get the time of prayer of each mosque?( I mean how the system knows when the prayer starts in the mosque that is near to me.)

Collapse
 
siswoyo profile image
Siswoyo Siswoyo

How the System Gets Prayer Times

The system retrieves prayer times in one of two ways, depending on the context:

1. Gets Your Location: (No Mosque Specified)

  • Using your device's GPS (via navigator.geolocation) or your IP address (as a backup), the system finds your latitude and longitude.

2. For Mosque-Spesific Prayer Times

  • Mosque coordinates are pre-stored in Redis.
  • The system pulls the mosque's latitude and longitude from Redis.

3. Sends Location to an API:

  • It then uses those coordinates to call a public prayer times API, specifically:
https://api.aladhan.com/v1/timings?latitude=...&longitude=...&method=20
Enter fullscreen mode Exit fullscreen mode
  • This API returns daily prayer times calculated based on your location and the selected calculation method (like "Muslim World League", "ISNA", etc.).
  • Here, method=20 is used, which refers to:
KEMENAG – Kementerian Agama Republik Indonesia
Enter fullscreen mode Exit fullscreen mode
  • This means the prayer times follow the official calculation method used in Indonesia, as recommended by Kemenag.

4. Displays the Timings:

  • The system then updates the UI to show these prayer times (Fajr, Dhuhr, Asr, Maghrib, Isha, etc.) along with the Hijri date.
Collapse
 
uratmangun profile image
uratmangun

keren bang

Collapse
 
fm profile image
Fayaz

Cool!

A manual location entry would be nice.

May be I'm going somewhere and want information for that place, or just don't want to allow browser access my location for privacy reasons.

Collapse
 
siswoyo profile image
Siswoyo Siswoyo

Thanks Fayaz! Great idea β€” I’ll add manual location entry in the next update πŸ™Œ

Some comments may only be visible to logged-in visitors. Sign in to view all comments.