It started with a Google Form. When we signed our daughter up for Sunday School at our local Self-Realization Fellowship temple, I remember filling it out and thinking, this works, but it could be so much better. Nothing was broken. It got the job done. But as someone who builds software for a living, I noticed the gaps right away: no real student management, no easy way to keep our family's information updated over time, nothing that felt built for a program meant to keep growing. It stuck with me, but initially I didn't do anything about it.
Months later, completely unrelated to any of that, I was standing around after Sunday Services at our Encinitas Temple when someone asked if I'd be willing to help out as a teacher assistant for the younger kids. I had no prior experience and I was surprised by the question. But I said yes immediately, and a couple of months later I was actually there, on Sunday mornings, in the classroom, filled with joy that I was doing something meaningful.
Being in that room several Sundays a month gave me a different view of the Sunday School. At some point I mentioned to the community that I also worked in IT and software engineering, in case it was ever useful. Not long after, I was asked if I'd like to help build a simple attendance app. Again I said yes immediately, and that Google Form came right back to mind. But I didn't want to solve just one piece of it, so I offered to build the whole thing: registration, attendance, and everything in between.
Once I started looking closer, I found more gaps. Teacher sign ups were informal and easy to lose track of. Weekly class schedules lived in a spreadsheet. There was no real system for managing students and families as the program grew year over year. Each of those became its own piece of the app: a self-serve registration wizard for families, a proper invitation and onboarding flow for teachers, weekly schedule management with conflict checks so nobody gets double booked, and attendance tracking built around how classes actually run week to week.
For the technically curious: SRF School is a Next.js and TypeScript frontend with a Node.js Lambda API on AWS API Gateway, with DynamoDB for storage and Cognito handling authentication, including Google sign in with account linking for teachers who'd rather use that. Parents go through a multi-step registration wizard that supports multiple children per family, various consent selections, and an optional account sign up so that parents can manage their children's registration afterward. Additionally, teachers get invited by admins, can self-assign to open classes for a week, and can subscribe to a dynamic calendar feed so their weekly assignments show up right in Google Calendar, Apple Calendar, or Outlook alongside whoever else is teaching that week. Everything runs on infrastructure managed with Terraform, and the whole system is built with automated tests to keep it reliable as it grows.
