Back to Portfolio
✓ Live in Production

SalahOne

Community-Driven Prayer Times Platform

A full-stack web application solving the widespread inaccuracy of congregational prayer times at local mosques through geospatial technology and community-driven verification.

Role

Lead Architect & Full-Stack Developer

Timeline

3 Months

Status

Live in Production

Platform

Web (PWA)

40km
Search Radius
<50ms
Query Response
99.9%
Uptime

The Problem

  • Prayer times change seasonally but websites aren't updated
  • Hard to find nearby mosques in unfamiliar areas
  • No way to report incorrect information
  • Lack of community input to verify accuracy

Our Solution

  • 40km radius geospatial search with PostGIS
  • Community vouch system for timing accuracy
  • Multi-channel reporting with escalation workflow
  • Automated trust badges via daily cron jobs

Key Features

Geospatial Search

40km radius mosque discovery using PostGIS ST_DWithin with optimized spatial indexes.

Community Trust System

Multi-layered trust badges: Verified Admin, Community Trusted (30+ vouches/15 days), Recently Updated.

Multi-Channel Notifications

Email (Resend API), in-app, and web push notifications with granular user preferences.

Admin Verification

Document submission workflow for mosque administrators with super admin approval.

Automated Cron Jobs

Daily badge recalculation and report escalation via GitHub Actions.

Advanced Caching

In-memory LRU cache with dynamic keys for geospatial queries (5-10 min TTL).

Technical Challenges & Solutions

Problem: Inaccurate Prayer Times

Solution: Built community-driven vouch system with automated trust badge calculation running daily.

Impact: Users can now trust timing accuracy verified by 30+ community members.

Problem: Geospatial Performance

Solution: Implemented PostGIS with GiST indexes and in-memory caching for sub-100ms queries.

Impact: 40km radius search returns results in <50ms for 1000+ mosques.

Problem: Report Management

Solution: Created escalation workflow: 3+ confirmations auto-escalate to super admin after 24h.

Impact: Reduced admin response time by 60% with prioritized critical reports.

System Architecture

Frontend Architecture

  • Next.js 15 App Router with React Server Components
  • Client-side state with optimistic UI updates
  • Leaflet maps with custom markers and entrance images
  • Progressive Web App (PWA) with offline support

Backend Architecture

  • Serverless API routes on Vercel Edge
  • PostgreSQL with PostGIS on Supabase
  • Prisma ORM with connection pooling
  • NextAuth.js passwordless OTP authentication

Infrastructure

  • Vercel for frontend deployment and edge functions
  • Supabase for PostgreSQL + Storage
  • Resend for transactional emails (custom domain)
  • GitHub Actions for automated cron jobs

Technology Stack

Next.js 15

PostGIS

Prisma 6

TypeScript

Tailwind CSS

Vercel

Want to Build Something Like This?

We can help you architect and build production-ready applications with similar complexity.

Let's Discuss Your Project