Jason Lamb .ME Some stuff I think is cool and interesting, you might too!

October 9, 2026

Building a Life Group Attendance Portal for the People Behind the Check-In

Filed under Informational

Attendance starts with a simple question: who is here? Running a group also means finding names quickly, keeping profiles current, and understanding participation over time. My Life Group Attendance portal brings those jobs together.

The application supports multiple church life groups with reusable student profiles. Leaders can search by first or last name, filter by grade or gender, and connect siblings. Student records also include serving and baptism fields, alongside attendance history.

The roles reflect the work people need to do. Attendance users can check students in and maintain student profiles. Super administrators manage users, groups, imports, and administrative reports. Giving a volunteer the ability to fix a student’s information does not need to mean giving them every setting in the system.

New leader accounts go through approval. Registration creates a pending account, and an administrator reviews it before granting active access. Recent changes make that state clearer, including fresh account reads and an explicit pending-approval message. A registration that disappears into an ambiguous error is a frustrating way to welcome a volunteer.

Student removal is a soft delete. It removes the student from active lists while retaining prior attendance for historical totals and audits. That preserves the meaning of an older report even as the current roster changes.

Mobile usability has also shaped the project. Navigation wraps on smaller screens, and the active section is represented in the URL so refreshing the Users page keeps someone on the Users page. Those are small details until you are the person doing the check-in.

The portal uses PHP and JSON storage. Its value comes from keeping the workflow understandable: find the student, record attendance, maintain the profile, and let the history accumulate into something useful.

Explore the project on GitHub