Gidi GC
Opening your page…
Not you? Go to admin sign-in
Dashboard

Guest log

One-off visitors. Add guests via "Add member" and set GC status to Guest.

Serving teams

Who is serving at City Church, who is eligible but not yet serving, and your December goal progress.
December goal: every eligible member serving on at least one team.
Data

Goals

Track monthly GC participation goals and see how each cluster is contributing.
Track monthly GC participation goals and the cluster leaderboard.

Open or create a session

Absences by session

Everyone who was absent last session, with their streak and a WhatsApp link.

Absence reasons — select a session above

Absence reasons
Enter birthdays as DD/MM. Reminders appear automatically when a birthday is within 7 days.
Tap a section to open it.
App version 2026-10-18b · backup · leader search & filters · atomic saving is a button
Pastor's WhatsApp number
All-or-nothing saving
Saves everything in one go. If any part fails, nothing is saved, so the database can never be left half-updated. It only ever turns on when you press the button below, and it needs the save_all_atomic.sql function in Supabase. If it can't be used, saving quietly falls back to the normal way.
Currently: off
Back up your data
Saves everything in the app to one file on this device: members, attendance, notes, prayer requests, reminders and settings. Leader link tokens and the admin PIN are left out. The file holds private details, so keep it somewhere safe and don't forward it.
Attendance Rules

Attendance rate thresholds

Core 75% – 100% attendance ≥ %
Frequent 50% – 74% attendance ≥ %
Rare 30% – 49% attendance ≥ %
Unresponsive Below 30% attendance Below Rare threshold

Google Sheets import

Saved here so Record → Import from Sheets doesn't need these re-typed every week. To get an API key: go to console.cloud.google.com, create a project, enable the Google Sheets API, then create an API Key (restrict it to the Sheets API). Your sheet itself needs to be set to "Anyone with the link can view".
Saved locally in this browser — never sent anywhere except Google.

Trends start date

Every rate, streak, and trend number in the app (People, Follow-up, Insights, Care, cluster health) will ignore sessions before this date. Raw attendance records aren't touched — you can still open an old session and edit it. Leave empty to use full history.
Saved

Next session date

Normally the next session is worked out automatically (the next Wednesday). Set a date here for a week GC skips or meets on a different day — it overrides "Next session" everywhere it shows: Overview, the cluster-head portal, and every member report. Leave empty to go back to the automatic Wednesday.
Saved
Messages & Status

Auto-message templates

These fill the WhatsApp buttons on Dashboard, Follow-up and Care. Use [name] as a placeholder — it's replaced with the person's first name. Leave a box empty to use the built-in default.
Saved
Member rates
Activity Log

Change log

No changes logged yet.
Publishing & Teams

Member report publishing

Enter your GitHub token to publish the member report to gidiatcity.com/report.html — a fixed link you can share with members each week.

Custom serving teams

Add teams not in the default list. They'll appear in member profiles and serving imports.
Notifications & Access

Admin PIN

Loading current status...
Worth knowing: this is client-side, like everything in this app — someone who deliberately opens their browser's developer tools could still find this value. What this actually protects against is casual/accidental access (the old default was a well-known, guessable value) — not a determined technical attacker with access to a device.

Guest access

Generate a temporary PIN for someone who needs access to the dashboard. Expires automatically — you can also revoke it early.
Loading active guest tokens...

Change log identity

Reminders

Get every notification type, unfiltered — cluster submissions, weekly leader check-ins, and missing sessions — on this device.

Notification timing

Changes here take effect on the notification system's next scheduled run — no redeploy needed.
Loading...

Send a custom notification

Sends instantly, straight to whoever you pick below — not on the 30-minute schedule the automatic reminders use. Only reaches people who've already turned reminders on.
Send to groups
Or specific people
Loading who's subscribed…

Weekly check-in reminders

Sends a reminder to each GC leader who hasn't checked in on everyone yet this week, and to each cluster head whose check-in hasn't come in. Only people who turned on reminders on their device will receive it — the rest are listed so you can message them on WhatsApp.
Display

Display

Remembered on this device only.
The Goals tab itself and everything in it stays exactly as it is \u2014 this only controls whether it's surfaced in those three places.
Every GC leader checks on their own people directly, the same as any individual supercluster set to flat mode \u2014 this just applies it everywhere at once. Nothing about who's assigned to which cluster changes, and turning this back off returns every supercluster to exactly how it was.
This Device

Whose device is this?

Lets an "All / Mine" toggle default to your own supercluster on this device. Saved only here, not shared with anyone else's device — everyone can still see everything either way, this is just a personal shortcut.

Message templates

These are the pre-filled WhatsApp messages used throughout the app. Use [name] for the person's first name, and [link] wherever a link gets inserted automatically — leave either out if a particular message doesn't need it.
Loading...
Absentee and check-in nudge messages can also be customized per cluster — edit those from that cluster's own detail view in the Clusters tab.
Danger Zone

Start a new term

Archives the current term's attendance, wellbeing, and care data, then resets stats to zero for a fresh term. This can't be undone — the old data moves to Archive, it isn't deleted, but this device's live view resets immediately.

Push an app update

Pick a new .html file and push it straight to the live site — your host redeploys automatically, usually within a minute. This replaces the app everyone is using, including David and every leader's link, the moment it deploys. There's no undo — pushing the wrong file, or a broken one, takes the whole app down for everyone until you push a working one back.

Clean up leftover old-term data

A bug (now fixed) meant some earlier New Term resets didn't fully clear the shared database, so old sessions could reappear after syncing. Run this once to remove anything from your live data that's already sitting in an archived term — it won't touch new sessions you've recorded since.

Restore a session trapped in an old term

If a session was recorded right before "New Term" was run, it can get swept into that term's archive along with everything else — the data isn't lost, but it's sitting in the archive instead of your live records. Use this to bring one session back.

Regenerate every leader link

A bug (now fixed) meant a freshly generated link could be copied and shared before it finished saving — if it was, opening it would wrongly say "revoked" even though it was never actually invalid. This regenerates every cluster and GC leader link at once under the fixed code, guaranteeing every one is genuinely valid. Everyone will need their new link resent afterward.
Restore a session from an archived term
Add member
Identity
▼
Church & GC status
▼
Used for serving eligibility.
Serving teams
Tap to expand
▶
Are you sure? This will permanently remove the member and all their attendance data.
All clusters with member lists, attendance dots and care inputs. Tap a cluster header to collapse it.
Add cluster
Cluster summary
Coverage gaps
Member profile
Convert guest
Pending cluster submissions
Import attendance from Google Sheets
Format: Your sheet has a Name column and a Tick/mark column. Select both below. Rows with a tick (, TRUE, Y, 1, yes, x) are marked present — all others absent.
Header rows are automatically skipped.
Select all rows in your Google Sheet (including the name and tick columns) and paste below. Ctrl+A → Ctrl+C in the sheet, then paste here.

Superclusters

Attendance trends and check-in status for each cluster. Your weekly health check.
Track your cluster heads and special attention members.
Add supercluster
The cluster arrangement above stays exactly as it is. This only changes what the GC leader's own check-in screen shows — turn it back off anytime to return to it instantly.
Add any member regardless of their cluster.

Special attention

People who need your special attention, sorted by urgency. Routine weekly follow-up is on the Follow-up tab.

Follow-up

Routine weekly follow-up: absentees first, then everyone else. People who need special attention are on the Care tab.

Prayer requests

Active prayer requests from the GC. Publish to the shareable prayer page.
Log conversation
Conversation history
Are you sure?
Admin sign-in
Use the email and password for your admin account.
Reset your password
The link in the email brings you back to . If it opens a different page instead, that address needs adding under Authentication, URL Configuration, in Supabase.
Log prayer request

Past terms

Saved copies of previous terms' data for reference.
Click any term to view it in full detail. All data is read-only.
Term over term comparison
Archive
Start new term
This will archive the current term and start fresh.
Members, birthdays, clusters and assignments are kept. Attendance, check-ins, wellbeing ratings, care notes and absence reasons are cleared from the live view and saved into the archive. A backup file downloads first — keep it somewhere safe.