In the midst of a pandemic, technology has become an even greater component in how students learn, people connect, consumers shop, and families attend church. As churches closed their physical buildings, many launched online services through the Church Online Platform, technology developed by Life.Church and given away for free to over 44,600 churches worldwide.
To share more about the technology behind the Church Online Platform, we talked with David Fedor, Director of Engineering for our Open Network team. David has an extensive history working in software development. Before joining the Life.Church team in 2016, David worked for Google, Apple, Palm, and Digital.
Careers: Before we talk about the technology behind Church Online Platform, tell us a bit about why you decided to join the Life.Church team.
David: One day, I found an article online talking about an innovative strategy Life.Church was using to help people engage more with God’s Word. I immediately knew I wanted to be a part of what God was doing here to use technology to reach people. My wife and I were living in Switzerland at the time, but we knew God was calling us to relocate to Oklahoma to be part of Life.Church.
Careers: Church Online Platform had a huge year in 2020. Not only did your team help thousands of churches quickly create an online experience, but you also celebrated a significant milestone with 1,000,000 people indicating they’ve given their life to Christ through the Platform since 2011. Tell us more about how the Church Online Platform works.
David: The Church Online Platform allows churches to create their very own online church. Attenders can view their sermon, connect with people via chat, request and receive prayer, and digitally take their next steps. Church Online removes a barrier for people to attend church and provides a way for churches to reach people who wouldn’t or couldn’t physically gather in their buildings.
Careers: Tell us more about the technology behind the Platform.
David: Absolutely. Let’s start with the front end. The front end of the Church Online Platform is written in React, with Redux, and is served with Next.js. The UI talks to our back-end services using GraphQL APIs, some of which are documented here. We built the public chat and private prayer session features on top of a low-latency communications system from PubNub. To enable a global reach, we offer real-time chat translation, which is powered by Google Translate. And, we have a small army of awesome volunteers who have translated our UI into over 65 languages and locales.
Careers: What type of systems do you use on the back end?
David: Our back-end services are running on Kubernetes in Google’s Cloud Platform (GCP); we use a microservice model to increase our reliability and scalability. Using GCP in this way means our system scales to meet demand all on its own, so that churches using our platform can run huge services with tens of thousands of attenders whenever they want without our team needing to know ahead of time. Our data about churches, their services, and user profiles is stored in SQL databases. On Sundays, our systems need to sustain thousands of requests per second, so we rely heavily on several Redis instances for caching.
Careers: Your team is passionate about helping churches understand their data and how they can reach more people. What systems do you use to help churches understand their impact?
David: We like to say that data has a seat at the table, so we’re passionate about helping churches see what’s happening during their services. To do so, we have to ingest several thousands of events per second, so the client sends usage data through Google PubSub into some Apache Beam pipelines and then into BigQuery. From there, we share the service analytics data (e.g., attendance and prayer session count) with church admins in the Platform. We’re also about to add CubeJS to this process for greater efficiency both in development as well as to reduce the admin UI latency.
See the Church Online Platform in action! Visit live.life.church to join one of over 90 weekly services at Life.Church Online.
Are you creative and ready to help forge new paths as part of a team focused on serving the global Church with excellent, modern digital tools and resources? Do you want to use your coding skills on products that directly benefit thousands of churches and millions of people? Check out the open engineering roles on our digital technology teams!
Learn more about what it’s like to work at Life.Church, see the benefits we offer to staff members, or take a look at more career openings: www.life.church/careers