Build Plan · For Review

School of Ministry
Check-In

A simple way for about 50 students to check themselves in each class night, with guardrails that keep the record honest.

Prepared by Jay Owen · August 2026 · Not built yet, pending your feedback

The goal

Right now we have no clean way to know who showed up to class. Paper sign-in sheets are slow and easy to fudge. We want attendance that takes each student under ten seconds, needs no app download, and gives leaders a live view of the room.

The plan is a small web page students reach by scanning a QR code on the screen at the front of the room.

How a class night works

1

Screen shows a QR code

A laptop or TV at the front displays a big QR code with today's date.

2

Student scans it

Their phone camera opens the check-in page. No app, no account, no password.

3

Taps their name

They pick their name from the class roster. A search box makes it fast.

4

Done

They see a confirmation. Their name appears on the screen's live feed.

Keeping check-ins honest

You asked how we stop students from checking in their friends. Two guardrails work together, plus one backstop.

The QR code expires every two minutes

The code on the screen quietly changes itself. If a student screenshots it and texts it to a friend at home, the link is dead within two minutes. You have to be in the room to use it.

One phone, one check-in

Each phone can only check in one student per class night. A helpful friend cannot tap through four names from their own phone.

No double check-ins

Once a name is checked in for the day, it locks. Nobody can check in twice, and nobody can claim a name that is already taken.

The live feed is the backstop

Names pop up on the front screen as they check in. If a name appears and that person is not in the room, everyone sees it, including the leader.

Being straight with you: this stops casual cheating, not a determined scheme. A student who borrows a second phone and stands in the room could still game it. For a class of 50 where the leader knows faces, these guardrails plus the live feed are plenty.

What leaders see

The front screen

Scan to check in

Thursday, August 7
Sarah M. just checked in
David R. just checked in
Grace T. just checked in
38 of 50 here
The student's phone

Check in

Thursday, August 7
Daniel Boyd
Grace Turner
Hannah Wells
I'm here

Behind the scenes there is also a private admin page, protected by a PIN. From it you can paste in the roster, see attendance for any past date, and download the records as a spreadsheet.

How it gets built

Step 1
1 day

Build and test

Jay builds the app and tests the full flow with fake students: scan, tap, confirm, admin view, spreadsheet download.

Step 2
1 class

Pilot night

We load the real roster and run it at one class alongside whatever we do today. We watch for slow spots and confusion.

Step 3
Ongoing

Make it the way

Fix anything the pilot surfaced, then retire the old method. Leaders pull attendance from the admin page whenever they need it.

Free

It runs on Cloudflare's free plan, which includes 100,000 requests a day (source: cloudflare.com, Workers free plan). Fifty students checking in once per class uses a tiny fraction of that. No app store, nothing for students to install.

What we need from you

Open questions

Do we care about late arrivals?

The system records the exact time of each check-in, so we could flag anyone who checks in after class starts. Say the word and it's included.

One class per day, or multiple sessions?

The plan assumes one check-in per day. If the school ever runs morning and evening sessions on the same day, we would add a session picker.

Should absences trigger anything?

For now the admin page simply shows who was missing. Later we could add a weekly email to leaders listing students who missed two classes in a row.