RX 24 - Creating a Custom Serve Finder and Day-of-App Experience - Kevin Wishard

Transcribed Content

Kicking off the afternoon sessions, we have creating a custom serve finder and day of app experience. Please join me in welcoming to the stage, Kevin Wishard. Thanks, thank you. So first off, I just want to introduce myself. I've been able to come to the Rock Conference for like the last four years or so. I've been able to been privileged enough to be able to speak in some of those past years too. And so I just wanna give you a little introduction myself. My name is Kevin. I live in Lancaster, Pennsylvania. I work for LCBC Church in Pennsylvania. We have about 23 locations throughout Pennsylvania. This is a picture of my family. I get to serve alongside my wife and she works in our communications department at the church and it's just fun to do ministry as a family. So, LCBC stands for Lives Changed by Christ. And our our mission as a church is to introduce people to Jesus and together fully follow him. And we use a discipleship journey method called engagement where we, you know, we wanna try and help people move into deeper levels of engagement with our church and with their relationship with God. When we believe that when they move closer into in those engagements that they can see God work more or they have better opportunities to see God work in their life. So, some of the ways that we do that, you know, we gather with other Christians to worship on the weekend. We connect and invest in Christ centered relationships and groups. We serve others as Christ served the world by getting into your local church and serving that way. We also, we we say that we we should get out and have a heart for people far from God. If you're not in communities where, people are broken and far from God, there's no way that we're gonna be able to introduce people, to Jesus in that way. And, our last, engagement is to to live generously generously with what God has has given us. But today, we're gonna we're gonna focus on one of these engagements and that engagement is is get out. And And so why get out? So we want to look for opportunities to impact the communities around our locations. And we want to make it kind of how our senior pastor likes to say, we want to make our love easy to see. So during this year, I think our leadership really wanted to focus in on getting out and being able to actually impact our community well. And one of those things that they decided to do is they were gonna do this serve push or the serve day where all of us from the campuses will be able to go out and sign up for a volunteer opportunity in our community with some of our community partners and be able to actually go in our neighborhoods and actually make an impact. So we call that Impact PA or Impact Pennsylvania. PA is kind of how we shorten that up since Pennsylvania is a real long weird word to say. So our goals for that were essentially like we want to have over 10,000 people serve in their communities on May 18. And we necessarily don't even want to brand it in our church. We just want to make it known like hey, we just want to go out and impact people. And if they decide they want to ask like hey, where are you guys doing this from or what, like you can get in the conversation. It's a great way to start a conversation and actually get to know the person that you're serving or the neighborhood or the people that you're serving alongside. So we wanted to make sure that we had 10,000 opportunities available then for people to sign up. So we would need a place for them to serve at, a place for them to sign up and we wanted to make sure that there's several locations through PA that we could serve, not just like one or two at a location, but multiple. And we wanted to make sure that we filled that whole day up with opportunities for people to sign up. That way, if people can't do it in the morning, they could do it in the evening or in the afternoon whenever they had time to give for that day. We wanted to make it real easy for people to be able to make an impact and make it convenient for them to go out and do. So, we also wanted to make it really easy for people to submit their own projects. So, we know that we have community partners, but we don't necessarily always know, what other things in the community could be there. But, of course, you know, the people at your church have connections way better than you probably do as well, some places. So we wanted to make sure that we created a process of some sort where they could fill a form out and say, hey, this is where I'd like to create this to serve and whether or not that was going to be just maybe for their small group to do together or if it was going to be something that they were going to open up on our, what we were going to eventually call our serve finder to be able to have people jump on and say hey, I want to be a part of that one as well. And we wanted to make sure we had a way to track who served those days and to gather stories from the day And we really wanted to make it easy for families to sign up together so that you could serve alongside your entire family. So, our solution for this was to use the core sign ups feature. And we thought, you know, hey, this is going to be the best way for us to actually have our campuses be able to put these groups in or these serve groups in and be able to add all the times. They already have the relationships, they can start doing this right away. And honestly, it was the quickest way for them to do it because they're already used to building groups and small groups for their location. So this was not really anything new for them. What they had to do was learn a little bit about like, hey, how do we, why do we need to set location and some of the description stuff for there as well. But again, that was pretty self explanatory once we get into the block, I'll show you a little bit about that. So we wanted to, so we used the core sign ups feature. We provided a way to enter SIRF projects to easy to manage features so that, like I said, the staff was really easy for them to do. We documented a way and created a tutorial video for them to be able to walk step by step through how to enter their Serve projects in. And then for us, we wanted to customize the opportunities page so that we could see the Serve projects in a more engaging way. That way we could see all the information that we think the user would want to know and see right there, maybe to expand a little bit out of the out of the box features that core sign ups had. And we also wanted them to be able to either sign up individually or sign up their whole family altogether. And we wanted to make sure that we had a way to customize some of the confirmation or reminder emails or text that went out so that we could make it really easy for them to understand the directions that they needed to get to serve on that day. So let's talk a little bit about the sign up project. So this is more of like the back end of what the staff were able to do and how we asked them to put these projects in. So we set up location folders so that each of our campuses had a folder where they could click into and start adding projects into. So we wanted to make sure that on the back end, we supported them a little bit by not having them to do all of the work, but be able to start to facilitate like, hey, here's your folder, go ahead and get started. Then they could use opportunities to mark all the times they had and the multiple serve times throughout the day that they had. So, we also allowed a set capacity limits in case the project had to split in two different times. So, there's a lot of different serve volunteering opportunities at places around our communities that were like, hey, there's smaller areas, maybe we can only do 10 people at a time. But we wanted to make sure like, hey, 10 people at times are great, maybe we'll do that for an hour, but can the next hour, can we put 10 new people in there and continue to serve you as an organization all day long? So we were able to show them how to break that up into those time slots and put those min and max like capacity rates in there. So here's just a kind of a view of what that looks like. So as you can see, we had a folder just for Impact PA. We used a couple different other sign ups, So we wanted to make sure this was very obvious of what we used. Broke it up by our locations. We had a bunch of we have a bunch of different campuses, so we're able to do that. I personally am from the Lancaster City campus. So we're actually seeing the one that me and my wife hosted and did in our neighborhood. So Andy at our campus was able to put our opportunity in after I talked with him of what we wanted to do. He put the description in. He was able to mark it as an in person project. The organization was we did this for the school district of Lancaster. So we cleaned up the school and the neighborhood around the school where we live. And we added a couple of things like group attributes where we could put a category in of what it was and we allowed our cards to show like what kind of things am I good at. Like hey, do I want to go clean up stuff outside or do I want to go paint a building or kind of different categories that we made so that people could understand what they were signing up for and what kind of maybe work they're going to do. Is it going to be more of writing cards or am I going do manual labor today? So we also had a contact person. So if the staff person wasn't the contact person for this or the leader for this, we were able to put that person in so that way they could get questions asked them and they can answer them for the people that were signing As well as we wanted to make sure that some volunteer opportunities aren't always all family friendly. They might have age restrictions of who can serve. So we put a couple of different categories of is it family friendly, is it for all ages, is it just for 13 and up, or is it for more adults only. So we put some of those, those are really just group attributes in there and we're able to use those group attributes to be able to use those filters on our SERPfinder page. So these are what the opportunities look like. Literally just put an opportunity name in. You can put the date and time. So the date is always going to for this event was always on the May 18. I put some of these in for next year just so that we could book some time and I could show you well here for upcoming. If you wanted to look at the past ones, there's a little toggle that you can see past events. So what's really nice is we kind of have some of this stuff set up for next year when we want to do this already because those groups and those serving opportunities are already in there. If we're still partnering with those organizations, all we need to do is put new opportunities in for next year. So, and then you put the location of where that's at. And we just use the location as an address for that. So that's the address of the school where we met at. From there, in the group itself there, this is where you can configure what you're looking at. So there's a drop down for category, we used to define value to make those categories already and then the contact person is a person picker field as well as family friendly was also a defined typer and value fields for those. So they're able to go in, they had options to click through and to put in right away and it was really easy for our staff to be able to make these sign ups, sign up groups and configure them and get them on the page as quickly as possible. In the opportunity then, you have an option to, this is where the edit page looks like. You can put the schedule, you can put the location there. But then this is where you can see those minimum desired and maximum attendance blocks are. So you can customize exactly how many slots are open. And if we end up filling up one of our spots and we just went, I just went in there real quick and was like, hey, I'm just gonna up our maximum by 10 people and see if we can get more people to come as we're doing more and more pushes towards the end of that time to try and get more people to sign up. So reminder details and confirmation details. This is where you can add additional notes into what those system emails already do for you. So if you needed to put specific information in the confirmation details like, hey, we're going to be meeting at Perot's Elementary School, meet us at the front gate. You can put that in the confirmation details. And the safer reminder, the reminder details have some custom settings where you can pick how many days out from this serve are we going to send that reminder to them. And then you can add additional information like, hey, just as a heads up again, we're gonna be meeting at the front door of the elementary school on the north side of the building at this time. So that's what the edit window looks like for those opportunities. So let's switch over and take a look at exactly how that sign up finder looked and how we set that up in the sign up finder configuration on that block. So, we use the built in location and campus filters on this because they're just so great. We were, those groups are already set up with campuses that you could put and location is based off of the address that you put in. So, what we wanted the user, or like our guests to experience is like, hey, you might live like in between a couple different campuses if you're in Pennsylvania where we're at. I like, I could go and serve at maybe three campuses opportunities, depending where they're at in Lancaster. So I could put in my zip code and say, hey, give me everything within 10 miles. And I might get a couple different campuses opportunities. And I can pick one that might be the most convenient for my family. So we didn't want to limit like, hey, you're part of this campus, you can only do these. No, like why don't you just go out and serve? That's what the whole point of this day is, is just to impact the communities that we're in. So using that location feature was great. It was able to pull up and sort the cards that you'll see later here in an order depending on what was closest to you. We also used those group attributes before as filters on the finder page so that on the back of the configuring page you can pick what those attributes are that you put on there so that you could go ahead and say, I actually just want to see things of this category or I just want to see things that are family friendly so that way I know that all of my kids can come and serve with me. And then we utilized a persistent dataset to make sure that page was super quick and efficient. So we had to pivot probably, I don't know, a month before this event to use a persistent dataset because our our pastor was like, hey, I really think I wanna make a push from stage and say, hey, everyone get your phone out and go sign up for an opportunity now. And we were like, oh gosh, what's gonna happen here? So we didn't want the page to like not load because we had like, I don't 4,000 people in it at one time. So we wanted to make it super quick. So one way to do that is to make a persistent dataset. And if you don't know what that is, it's almost like you're pulling up all the information that you would need to fill out these cards but saving it or caching it in a spot. And you're able to re cache that in different time intervals. So for us, we pick like, hey, every hour we're just gonna refresh what's in this dataset. And you can just go in and manually do it if you need it. So there was a couple times where campuses were like, hey, I just put like 20 new opportunities in. Can we, I don't see them on the page. I'm like, yeah, give me one second. Hit the refresh button on that dataset and boom, they're all live and ready to go. But for the most part, this was super helpful for us because we were able to make that page really quick and speedy and able to show all the cards right away. So here's what that sign up block on the back end looks like. Some of the settings that we use for this, you can, so we used a, we didn't use the out of the box sign ups group type. We ended up making our own and used it as an inherited group type from sign ups so that we could use some of the features and functionality of it. But that way we could go in and put some of those group attributes that we wanted to use. We had we put those on the group types. That way all the groups of that group type were able to use those attributes. You could also see the display attribute filter section of the ones that we chose to show up on that page, that way we could filter by. As well as we wanted the results to load initial page load so that they could see that there was opportunities available. We wanted, to be able to, hide overcapacity projects as well. So when a serve opportunity was completely full, we wanted that card to go away and to not show that there as well. So that's just kind of how we set up our sign up finder on the top part of that. So here's kind of what the page looks like after we filtered through. So you would get a bunch of these cards that would pop up. But we were able to kind of configure the card in a way that looked a little bit more engaging for someone to look at and be able to quickly get the information that they were probably wanting to know. Like hey, what is this thing? Give us the location or the organization that it's working with. Give us a little bit of a detail of what is gonna be happening. The time, of course, the location, where is it. Is it family friendly? And then how many spots are left that we can sign up? And like, if I have a family of four, like I need to make sure I have an opportunity to at least have four spots that are left for me to sign up. And then a little button to be able to go into more details of what that page looks like. We also, used the defined values for the category to pair with some icons. So whatever category was, so this category was like an outdoor cleanup, that was paired with that like plant icon. So like all of the different categories for these projects were paired with a different icon so that it was kind of visually represented in the cards. If you got like 20 cards that you're looking up in front of you, you can kind of see the different opportunities and be able to see that category quickly based on that icon. So this is kind of what the dataset looks like. Now, I know you guys can't probably read it, so I'm gonna dig in a little bit more in the different sections of what this does. This is essentially just a SQL request of all the information that I might possibly need to use on the back end of that block to be able to populate the information in the cards. So, the first thing that we had to do was kinda look at the different variables that I might need to use, and like group type, category ID, icon attribute ID, all these things that are predefined, and predefined those values up top so that I could pull from that, from my where statement in the bottom. And then these are all the information that I would possibly need in those cards. So everything from the key, so what's a little bit difficult here, I'm gonna go to the next slide, is the table that I'm pulling most of this stuff from is called the group location schedule configuration. So sign ups don't necessarily have their own rock model, So it doesn't have its own properties essentially to pull off of. But it pulls off of this group location schedule configuration. And everything's based off of almost like groups. But it also has some of these different elements that we need to use to make sign ups work the way it does. So we have to kinda join a bunch of different tables to kinda get the information that we need. So essentially we have this key up top that kinda links them all together and say, hey, this is the key for this that we're needing to use to be able to pull exactly that opportunity that we're looking for. As well as we're pulling things like the location ID and the schedule ID and the group ID and the configuration name of the opportunity, and the icon that we're using for the category attribute. And whether or not this is family friendly, we have a bunch of different, those are value based, but we also wanted to populate that with text. So, you can see in that select there, in that case, for family friendly, like, hey, I'm getting this value, but the value is gonna come in as an integer, but that integer we wanted to actually populate text from. Organization, name, location, and city and state, so it's kind of compressed down. And we also need the campus ID for that to be able to function everything that we want to do to populate these cards. So again, here are all the tables we had to join. So making sure that we can get all of these things, we have to make sure we join all these tables in the right way. That way we can access everything that we're populating. And then our where statement is like, only do it when the group type is this and if it's active and if it's not archived. And then we take all those results, we push it to JSON so it can store in our dataset correctly. When you click into the cards though, you're also able to use a lot of that information on the opportunity details page. So this details page then gives you a little bit more information about this project that you're looking for. So it gives you the time, it gives you duration, which you didn't do in smaller card. It gives you the spots available again. It also gives you an email address of who to contact if you're had more questions about it. As well as a nice visual map of exactly where you're going. And the full address as well as some of the other things in the full description down on the bottom. When you hit register then, we wanted to make this really, really efficient if you're logged into our website. So if you're already logged in, we wanted to make sure that you could, it would populate you, grab the information so you didn't really have to fill out a big form and then also be able to show and provide your family members so that you could click, quickly click on them and add them into this serve opportunity as well. So that kind of looks like this. So like if I'm logged in, it'll say, hey, here's you, here's your mobile number and your email. Yes, I'm going to attend and please remind me with SMS. I'm going to check my phone and see those messages a lot quicker than I'm going to check my email. And then it's going to provide your mobile number and a way to edit that if it's not already correct. So, hopefully with this we are able to have people update their information along the way. And then it's going to show everyone in my family here. It's like, hey, also please sign up the following family members. So I was able to sign up my whole family and we were able to serve in that hour. I hit update registration and we're all good to go. So then, during the day, again, one of our goals was, hey, we want to be able to, one, have people kind of check-in or let us know that they're serving that day. And we want to make sure that, like, we'd love to be able to capture stories from this day. Like, the way that we evaluate what we're doing as a church, a lot of times comes down to the stories that we hear and the people that we meet. And for us, as a church, we couldn't be at all the locations, but what we can do is have those people share exactly what they're doing that day. So, in our mobile app, we had a Impact PA card on the top of our homepage that went to this page itself. And essentially what we had is our senior pastor, Jason, he there was a video in that page and click on it and kind of get the vision for the day. Kind of get like a pump up, like a pep talk before you go out and serve. A little bit about like why we're doing today and then a way to check-in, a way to share a story just using this call to action buttons which just went to some workflows, really, really simple workflows. And then we also had the ability to continue to sign up. If they weren't able to sign up, they were able to sign up that day and go serve. So then on the back end, we wanted to provide reporting for this day as well. Like, we knew that leadership would like to see, hey, how are we doing? How many people have signed up already? How many open slots are there still left. So we did a report where we took the member count, which is all the people that have signed up, and looked at it with the max slots and we're able to say, hey, we have 100 and, what does that say, I can't even read it. Sixteen ninety two slots or opportunities available for people to sign up. And then we took that overall number and then we broke it down by campus so that we could see that by campus. We also wanted to see our check-in information. So these are people that said, hey, I'm serving up an opportunity at this campus today, I'm gonna tell you that we have 10 people here and we're gonna check all the 10 people in. And we weren't looking for individual data, we were just looking for numbers for this day. We wanted to make it, again, just super easy for people to say, yes, I was here. And be able to get that number. So, again, we took the overall number, so, and then we took the campus numbers and broke them down so that the campuses could see how many people said that they were from their campus serving that day. As well as a report where it showed stories. So our story workflow had a big memo field for you to put a big, big list of stories as well as an area to add some photos from the day. That way we could kind of look through and see what people were doing and and just get a full impact of what those stories were. So there was some of the reports in the back end that we created to populate some things for our locations and our leadership. So some of the wins for today really were we had over 8,500 people sign up and check-in and say that they serve their local communities. So that's a huge win for us to be able to say that we went out and we did everything that we could to impact our local communities. We had a great check-in experience within the app and we really didn't have any big issues with that whole day. And we gathered more stories than we ever have at one time by collecting over 300 plus stories, which is amazing for us. And that actually blew me away quite a lot. So needless to say, we found a ton of value in that core sign ups block in there. And some of the takeaways that you can have is I'm gonna give you a lot of the files and a lot of the code that we built those pages out with. So you'll have the dataset, you'll have the finder lava and how we pull the information to the cards and the styling for that, as well as some of the stuff for the reporting and for the details page and the registration page of what we did for those. So you'll be able to grab those takeaways and kinda take a look at the code and make it yours if you want it. But so at that, I I don't have anything else, but I'd love to answer some questions if you guys have