How this status page works
68 checks run every few minutes: 31 we measure ourselves, 35 we read from a provider's own status feed. Everything below is generated from the same configuration the checks run from, so this page cannot drift out of date.
Method
- Where the checks run from
- Vercel, in a different account and a different network from InflowBooks itself. A status page that shares a failure domain with the thing it reports on tells you nothing on the day you need it.
- How often
- Every 5 minutes on a schedule. If a scheduled round is late, the next page view runs the checks live before rendering, so what you see is never more than about 90 seconds old, whatever happened to the scheduler.
- How uptime is calculated
- Successful and slow-but-working checks count as up; failed checks count as down. Checks we could not run at all are excluded from the denominator and shown as neutral stubs. We report the availability we observed, never a guess. A day only shows green above 99.9%.
- What “degraded” means
- The check succeeded but took longer than its budget. For the database that is 800 ms, for a page render 1.5 s. It is a warning that something is straining, not an outage.
- Measured vs vendor-reported
- Rows marked vendor-reported come from Cloudflare, Supabase, Resend or Vercel’s own status page. They can lag reality by many minutes, so our own measurements always take precedence in the headline.
- Non-critical checks
- Some dependencies matter to one feature, not the product: Google Fonts, a single Cloudflare edge city, the docs site. They are reported in full but capped at “degraded” in the headline so a minor blip never reads as an InflowBooks outage.
Why this page survives a Cloudflare outage
- Different host. InflowBooks runs on Cloudflare Pages; this page runs on Vercel. A Cloudflare edge or Workers incident takes the product down and leaves this page up.
- Different datastore. Incidents and history live in a Postgres that has nothing to do with the app’s Supabase, so we can still publish an update while the app’s database is the thing that is broken.
- Different resolvers. The DNS checks use Google, Quad9 and OpenDNS, never 1.1.1.1, so “is our domain resolving?” is answerable even when Cloudflare’s own resolver is the problem.
- A second address. The hostname in the footer does not resolve through Cloudflare at all. If Cloudflare’s authoritative DNS is down, status.inflowbooks.in stops resolving. That address will not.
Everything we check
Masjid Pages & Website
- Masjid pages HTTP request
The public page each masjid gets, where members give and follow campaigns.
If it fails: Donors cannot open a masjid’s donation page or campaigns.
https://jamia-masjid.inflowbooks.in/
- Website HTTP request
The inflowbooks.in home page and sign-up.
If it fails: New masjids cannot sign up. Existing users are unaffected.
https://inflowbooks.in/
- Prayer times HTTP request non-critical
Daily prayer times shown on every masjid page, from azantimes.in.
If it fails: The prayer-times panel is blank. Donations are unaffected.
https://api.azantimes.in/v1/timesheets
- Mobile app HTTP request + JSON assertion non-critical
Installing InflowBooks to a phone’s home screen, and opening it offline.
If it fails: The app may fail to install or update. An installed copy keeps working.
https://inflowbooks.in/manifest.webmanifest
- Help & guides HTTP request non-critical
The English and Malayalam user guide.
If it fails: Help articles are unreachable. The product itself is unaffected.
https://inflowbooks.in/docs
- Images & styling HTTP request non-critical
Logos, fonts and images served from Cloudflare’s cache.
If it fails: Pages load unstyled or without logos.
https://inflowbooks.in/brand-lockup.png
- Search engine listing HTTP request non-critical
The sitemap that lets search engines find public masjid pages.
If it fails: New masjid pages take longer to appear in search results.
https://inflowbooks.in/sitemap.xml
Sign-in & Records
- Sign in HTTP request
The sign-in page for masjid staff.
If it fails: Nobody can start a new session. Signed-in users keep working.
https://inflowbooks.in/login
- Sign-in service HTTP request + JSON assertion
Checks passwords and one-time codes, and keeps sessions alive.
If it fails: Sign-in and session refresh fail. Existing sessions last until they expire.
https://gchpbowsmytsvyyoinwa.supabase.co/auth/v1/health
- Dashboard HTTP request
Where staff record payments, manage members and run reports.
If it fails: Staff cannot record payments, run reports or manage members.
https://inflowbooks.in/dashboard
- Records database HTTP request + JSON assertion
Where every masjid’s members, payments and receipts are stored.
If it fails: Nothing loads or saves. This is the hard dependency behind every page.
https://gchpbowsmytsvyyoinwa.supabase.co/rest/v1/public_masjids?select=id&limit=1
- Saving records signed application self-check
Writing new payments, members and masjids to the database.
If it fails: New masjids cannot be set up and admin tools fail.
- Photo & file uploads HTTP request non-critical
Masjid logos, hero images and photos attached to messages.
If it fails: Uploads fail and some images may not appear. Records are unaffected.
https://gchpbowsmytsvyyoinwa.supabase.co/storage/v1/bucket
- Data privacy between masjids signed application self-check
Continuously proves one masjid’s records can never be read by another.
If it fails: Risk of data being visible across masjids. Treated as a security incident.
- Spam protection HTTP request non-critical
The bot check on member registration and contact forms.
If it fails: Protected forms cannot be submitted.
https://challenges.cloudflare.com/turnstile/v0/api.js
- Sign-in options HTTP request non-critical
Which sign-in methods the login page offers.
If it fails: The login page may not show the right sign-in buttons.
https://gchpbowsmytsvyyoinwa.supabase.co/auth/v1/settings
- Admin console HTTP request non-critical
Internal tools used by the InflowBooks team only.
If it fails: Only the InflowBooks team is affected. Masjids keep working.
https://inflowbooks.in/admin
Email & WhatsApp
- Email delivery HTTP request
The email service that sends receipts, password resets and support replies.
If it fails: Outgoing email is not delivered.
https://api.resend.com/domains
- WhatsApp messages signed application self-check
Payment reminders and announcements sent over WhatsApp.
If it fails: Reminders and bulk messages stop sending.
- WhatsApp sign-in signed application self-check non-critical
Members signing in with a code sent to WhatsApp.
If it fails: Members must use email sign-in instead.
- Support inbox HTTP request non-critical
Replies to support@inflowbooks.in reaching our team.
If it fails: Replies to support emails would not reach us.
https://inflowbooks.in/api/webhooks/resend-inbound
- Email sender verification signed application self-check non-critical
Proves our email is signed correctly so it is not treated as spam.
If it fails: Email still sends but is more likely to be filtered as spam.
- WhatsApp platform HTTP request non-critical
WhatsApp itself, which our sender connects through.
If it fails: Our WhatsApp connection may drop while WhatsApp is unreachable.
https://web.whatsapp.com/
Network, DNS & Certificates
- DNS for inflowbooks.in DNS lookup via three public resolvers
Resolved through Google, Quad9 and OpenDNS, never Cloudflare’s own resolver, so this still answers during a Cloudflare DNS incident.
If it fails: The domain does not resolve. Nothing is reachable by name.
inflowbooks.in
- DNS for masjid subdomains DNS lookup via three public resolvers
The wildcard record every masjid subdomain depends on.
If it fails: Individual masjid pages stop resolving.
jamia-masjid.inflowbooks.in
- DNS for this status page DNS lookup via three public resolvers
Whether this page’s own address resolves.
If it fails: You would be reading this from the fallback address in the footer.
status.inflowbooks.in
- Certificate for inflowbooks.in TLS handshake
The HTTPS certificate and how long it has left. Warns 21 days out.
If it fails: Browsers show a security warning and refuse to load the site.
inflowbooks.in
- Certificate for masjid subdomains TLS handshake
The certificate covering every masjid subdomain.
If it fails: Masjid pages show a security warning.
jamia-masjid.inflowbooks.in
- Internal self-check signed application self-check
A signed request to the app’s own health endpoint, which reports on internals whose credentials never leave that project.
If it fails: The internal checks elsewhere on this page fall back to “no data”.
Upstream Providers
- Cloudflare Pages provider status feed vendor-reported
The platform InflowBooks is hosted on.
If it fails: The app is unreachable everywhere. This page stays up, because it runs on Vercel.
https://www.cloudflarestatus.com/api/v2/summary.json
- Cloudflare DNS provider status feed vendor-reported
The nameservers that answer for inflowbooks.in.
If it fails: The domain stops resolving.
https://www.cloudflarestatus.com/api/v2/summary.json
- Cloudflare Workers provider status feed vendor-reported
The runtime that renders InflowBooks pages.
If it fails: Pages and forms fail; cached files may still load.
https://www.cloudflarestatus.com/api/v2/summary.json
- Cloudflare static files provider status feed vendor-reported non-critical
How the build’s static files are served.
If it fails: Pages load without styling or images.
https://www.cloudflarestatus.com/api/v2/summary.json
- Cloudflare builds provider status feed vendor-reported non-critical
The system that deploys new versions of InflowBooks.
If it fails: We cannot ship a fix or roll back until it recovers.
https://www.cloudflarestatus.com/api/v2/summary.json
- Cloudflare DNS changes provider status feed vendor-reported non-critical
Whether DNS record changes take effect.
If it fails: Existing records keep working, but we cannot change them.
https://www.cloudflarestatus.com/api/v2/summary.json
- Cloudflare 1.1.1.1 resolver provider status feed vendor-reported non-critical
The public resolver many people have configured on their devices.
If it fails: Users on 1.1.1.1 cannot resolve any domain until they switch.
https://www.cloudflarestatus.com/api/v2/summary.json
- Cloudflare API & dashboard provider status feed vendor-reported non-critical
The controls we use to change DNS, clear caches or roll back.
If it fails: Traffic keeps flowing, but we cannot reconfigure anything.
https://www.cloudflarestatus.com/api/v2/summary.json
- Cloudflare registrar provider status feed vendor-reported non-critical
Domain administration.
If it fails: Domain admin is unavailable. Resolution is unaffected.
https://www.cloudflarestatus.com/api/v2/summary.json
- Cloudflare overall status provider status feed vendor-reported non-critical
Cloudflare’s own headline status across all of its services.
If it fails: Context for the Cloudflare rows above.
https://www.cloudflarestatus.com/api/v2/summary.json
- Supabase database provider status feed vendor-reported
Reported by Supabase for the region our data lives in.
If it fails: Cross-check against our own database checks.
https://status.supabase.com/api/v2/summary.json
- Supabase authentication provider status feed vendor-reported
Reported by Supabase for the region our data lives in.
If it fails: Cross-check against our own database checks.
https://status.supabase.com/api/v2/summary.json
- Supabase connections provider status feed vendor-reported
Reported by Supabase for the region our data lives in.
If it fails: Cross-check against our own database checks.
https://status.supabase.com/api/v2/summary.json
- Supabase API provider status feed vendor-reported
Reported by Supabase for the region our data lives in.
If it fails: Cross-check against our own database checks.
https://status.supabase.com/api/v2/summary.json
- Supabase storage provider status feed vendor-reported non-critical
Reported by Supabase for the region our data lives in.
If it fails: Cross-check against our own database checks.
https://status.supabase.com/api/v2/summary.json
- Supabase Mumbai region provider status feed vendor-reported
Reported by Supabase for the region our data lives in.
If it fails: Cross-check against our own database checks.
https://status.supabase.com/api/v2/summary.json
- Supabase dashboard provider status feed vendor-reported non-critical
Reported by Supabase for the region our data lives in.
If it fails: Cross-check against our own database checks.
https://status.supabase.com/api/v2/summary.json
- Resend API provider status feed vendor-reported
Reported by Resend, our email provider.
If it fails: Email delivery is affected in the way the name suggests.
https://resend-status.com/api/v2/summary.json
- Resend single email provider status feed vendor-reported
Reported by Resend, our email provider.
If it fails: Email delivery is affected in the way the name suggests.
https://resend-status.com/api/v2/summary.json
- Resend bulk email provider status feed vendor-reported non-critical
Reported by Resend, our email provider.
If it fails: Email delivery is affected in the way the name suggests.
https://resend-status.com/api/v2/summary.json
- Resend incoming email provider status feed vendor-reported non-critical
Reported by Resend, our email provider.
If it fails: Email delivery is affected in the way the name suggests.
https://resend-status.com/api/v2/summary.json
- Resend delivery events provider status feed vendor-reported non-critical
Reported by Resend, our email provider.
If it fails: Email delivery is affected in the way the name suggests.
https://resend-status.com/api/v2/summary.json
- Resend SMTP provider status feed vendor-reported non-critical
Reported by Resend, our email provider.
If it fails: Email delivery is affected in the way the name suggests.
https://resend-status.com/api/v2/summary.json
Cloudflare Edge in India
- Kochi (COK) provider status feed vendor-reported non-critical
Cloudflare’s Kochi (COK) data centre, where nearby visitors are normally served from.
If it fails: Visitors in that area are served from a further city: slower, but still working.
https://www.cloudflarestatus.com/api/v2/summary.json
- Kannur (CNN) provider status feed vendor-reported non-critical
Cloudflare’s Kannur (CNN) data centre, where nearby visitors are normally served from.
If it fails: Visitors in that area are served from a further city: slower, but still working.
https://www.cloudflarestatus.com/api/v2/summary.json
- Bangalore (BLR) provider status feed vendor-reported non-critical
Cloudflare’s Bangalore (BLR) data centre, where nearby visitors are normally served from.
If it fails: Visitors in that area are served from a further city: slower, but still working.
https://www.cloudflarestatus.com/api/v2/summary.json
- Chennai (MAA) provider status feed vendor-reported non-critical
Cloudflare’s Chennai (MAA) data centre, where nearby visitors are normally served from.
If it fails: Visitors in that area are served from a further city: slower, but still working.
https://www.cloudflarestatus.com/api/v2/summary.json
- Mumbai (BOM) provider status feed vendor-reported non-critical
Cloudflare’s Mumbai (BOM) data centre, where nearby visitors are normally served from.
If it fails: Visitors in that area are served from a further city: slower, but still working.
https://www.cloudflarestatus.com/api/v2/summary.json
- Hyderabad (HYD) provider status feed vendor-reported non-critical
Cloudflare’s Hyderabad (HYD) data centre, where nearby visitors are normally served from.
If it fails: Visitors in that area are served from a further city: slower, but still working.
https://www.cloudflarestatus.com/api/v2/summary.json
- New Delhi (DEL) provider status feed vendor-reported non-critical
Cloudflare’s New Delhi (DEL) data centre, where nearby visitors are normally served from.
If it fails: Visitors in that area are served from a further city: slower, but still working.
https://www.cloudflarestatus.com/api/v2/summary.json
Other Integrations
- Google Sheets import HTTP request non-critical
Importing a member list straight from a Google Sheet.
If it fails: Sheet import fails. CSV and Excel upload still work.
https://docs.google.com/
- Google Fonts HTTP request non-critical
Webfonts for masjids that choose a custom brand font.
If it fails: Those masjids fall back to the standard font.
https://fonts.googleapis.com/css2?family=Inter
This Status Page
- Monitoring pipeline internal bookkeeping
How long ago these checks last ran.
If it fails: Readings on this page may be out of date.
- History storage internal bookkeeping non-critical
The separate database holding history and incidents, deliberately not the app’s own.
If it fails: Live checks still work; history and incident records are unavailable.
- Vercel functions provider status feed vendor-reported non-critical
Reported by Vercel, where this status page is hosted.
If it fails: This page itself may be slow or unavailable.
https://www.vercel-status.com/api/v2/summary.json
- Vercel network provider status feed vendor-reported non-critical
Reported by Vercel, where this status page is hosted.
If it fails: This page itself may be slow or unavailable.
https://www.vercel-status.com/api/v2/summary.json
- Vercel scheduled jobs provider status feed vendor-reported non-critical
Reported by Vercel, where this status page is hosted.
If it fails: This page itself may be slow or unavailable.
https://www.vercel-status.com/api/v2/summary.json
- Vercel builds provider status feed vendor-reported non-critical
Reported by Vercel, where this status page is hosted.
If it fails: This page itself may be slow or unavailable.
https://www.vercel-status.com/api/v2/summary.json
- Vercel DNS provider status feed vendor-reported non-critical
Reported by Vercel, where this status page is hosted.
If it fails: This page itself may be slow or unavailable.
https://www.vercel-status.com/api/v2/summary.json
Machine-readable
GET /api/status— the full snapshot as JSON, CORS-open.GET /api/status?monitor=sb-rest— one monitor.GET /feed.xml— incidents and maintenance as RSS.GET /api/badge/overall— an SVG badge for a README (any monitor key also works).