How I Built SalahClock.app from Scratch
Learn how I built SalahClock, a modern SaaS for mosques and homes using Next.js, TypeScript, Supabase, and Cloudflare to synchronize prayer times in real time.
Some of the best software starts with a personal frustration. For me, that frustration happened one afternoon in my hometown at Bogura, Bangladesh.
Like many Muslim majority cities, Bogura has several mosques within walking distance. When the time for salah arrives, you'll often hear multiple Adhans through the neighborhood. Although the prayer itself is the same, each mosque follows its own Iqamah schedule. Which can differ by five, ten, or even thirty minutes sometimes depending on the what day of the year it is.
Our local mosque held Dhuhr prayer at exactly 1:30 PM.
One day, I arrived at mosque expecting to join the prayer, only to discover that the prayer had already finished.
The imam had changed the iqamah time to 1:10 PM from 1:30 PM.
There had been no announcement that reached everyone. No notification. No synchronized display. Unless someone happened to tell you or you visited the mosque beforehand you simply wouldn't know. It was not just me. I noticed few other people on that mosque arrives late simply they didn't know that the time has changed.
That experience stayed with me.
As a software engineer, I kept asking myself the same question:
Why is this still a problem?
Our phones synchronize instantly across continents. Calendars update in seconds. Smart devices receive changes automatically. Yet something as important as knowing when your local mosque will begin prayer still relied on printed timetables, WhatsApp messages, or word of mouth.
It felt like a problem software should already have solved.
From Weekend Experiment to Working Prototype
Instead of waiting for someone else to build it. One weekend I decided to spend some time creating the first prototype version by myself.
The initial prototype was intentionally very simple.
I built a web application that displayed prayer and Iqamah times and then installed it in our local mosque at a cheap TV. Then I opened the same application on the television in my home.
The moment I changed the prayer schedule from the mosque dashboard, the display in my house updated automatically.
No refreshing.
No manual configuration.
No editing multiple screens.
One update propagated everywhere.
That single moment convinced me the idea had real potential.
Designing for Simplicity
The hardest part wasn't calculating prayer times.
Reliable prayer time libraries already exist.
The real challenge was designing a system that anyone could manage even volunteers with little technical experience.
Mosque administrators shouldn't need training just to update tomorrow's Fajr or Jumu'ah schedule.
That philosophy shaped every design decision.
I focused on creating an interface that required as few clicks as possible while keeping every connected display synchronized automatically.
Building the Platform
As the project grew beyond the original prototype, I rebuilt it as a modern SaaS application.
The platform is built with a technology stack focused on performance, scalability, and maintainability:
- Next.js for server-side rendering and a modern React architecture.
- React for building a fast, component-driven user interface.
- TypeScript for type safety and long-term maintainability.
- Supabase for authentication, database, storage, and real-time synchronization.
- PostgreSQL as the primary relational database.
- Tailwind CSS for a responsive, utility-first design system.
- Cloudflare for edge delivery, caching, and global performance.
- Paddle for subscription management and payments.
Whenever a mosque administrator updates a prayer or iqamah time, the change is stored centrally and instantly synchronized across every connected display associated with that mosque.
Solving Real-World Problems
Building software for real users means thinking beyond features.
Mosques don't always have reliable internet connection.
Displays should not stop working just because the network drops for a few minutes.
That is why offline support became a core part of the platform. Each display caches the latest synchronized schedule locally and allowing it to continue working even without an internet connection. Once connectivity returns then everything updates automatically.
Customization was another priority.
Every mosque has different branding, screen sizes, languages, and preferences. Instead of forcing everyone into a single layout. I built a flexible theming system with multiple display designs that work equally well on TVs, projectors, kiosks, and monitors.
The goal wasn't simply to build another prayer time display.
It was to build software that could adapt to different communities without adding complexity.
Engineering Challenges
Like every production application, SalahClock presented technical challenges beyond writing code.
Some of the problems I had to solve included:
- Designing a scalable multi-tenant database.
- Keeping displays synchronized without requiring users to refresh manually.
- Supporting offline mode for unreliable internet connections.
- Optimizing the application for low-powered Android TV devices.
- Making the interface usable for non-technical mosque administrators.
- Building a subscription system with feature-based access control.
- Ensuring accurate prayer times across different calculation methods and time zones.
- Maintaining excellent performance on large TV displays that remain powered on for long periods.
Each challenge forced me to think not only as a developer but also as a product designer and systems architect.
More Than a Side Project
What started as a weekend experiment gradually evolved into a complete SaaS platform.
Building SalahClock required far more than front end development.
It involved product design, UX research, database architecture, authentication, deployment pipelines, payment integration, analytics, SEO, monitoring, accessibility, customer support, and continuous iteration based on user feedback.
Working on every layer of the application gave me a much deeper appreciation for what it takes to ship and maintain production software.
Looking Ahead
Today, SalahClock helps mosques, homes, schools, and Islamic organizations stay synchronized without relying on printed schedules or manual updates.
A single change made by a mosque administrator automatically reaches every connected display whether it's inside the mosque or in someone's living room. At an office or in a community center.
For me, The project represents something even more valuable.
It reminds me that meaningful software often begins with noticing a small problem that everyone else has accepted as normal.
Sometimes, solving that one problem becomes the foundation for something much bigger.
Thanks to SalahClock, I didn't just build a product. I gained hands on experience designing, developing, deploying, and maintaining a production SaaS used by real communities.
That experience continues to shape how I approach every new project: start with a real problem, build with simplicity, and never stop improving.