We need to talk: BibleChat
October saw the first ever SheepCon, where all five members of the OneSheep team were gathered together in one country for a time of vision, planning and fun – at the closest thing we have to a company HQ – Mark’s house in Stoke Row.
Whilst together, we entered Code for the Kingdom’s Global Hackathon at the London hack, one of 14 locations taking part in the Global Hackathon that weekend. We were excited to work together in the same location, as a change from our day-to-day norms of Slack channels, Trello boards and Skype calls.
As we spent time together in the week leading up to the hack, we were inspired by YouVersion’s Global Hackathon challenge from their Bible Labs.
Their challenge threw out the question of what it would be like to have a conversation with the Bible, from the perspective of someone who knows very little about it. They suggested platforms like Amazon’s Alexa could be useful tools to help people begin the discipleship process.
Conveniently, Amazon had just released the Echo Dot to the UK, so with all the excitement of a child the night before Christmas, we ordered one ready to take with us to the hackathon.
After pitching a rough idea of what we wanted to achieve on the Friday night, we were pleased to pick up a couple of extra excellent coders who proved invaluable on the project, bringing their skills and expertise to the team. With just a few minutes of introductions, we began the project, setting up the various accounts that were needed to get the Alexa ‘skill’ running.
We decided that rather than create a Bible ‘call’ skill, asking Alexa to read passages or verses from the Bible (of which there were already several in the skills store), we would instead encourage users to ask questions of the Bible in a conversational style. One important aspect for us was to build an extensible app that didn’t rely on coders to expand its knowledge, but rather provided an easy way for ministries to add knowledge and bible verses in response to key questions. This would allow for rapid growth in the depth of understanding the app had so that, a user could begin building a picture of some of the structure and context that could potentially lead to them asking more questions as they develop their knowledge.
Half of the team began working through the Alexa documentation and setup the databases we needed, and the other half began exploring other ‘published’ skills in the Alexa Skills store for clues as to what the platform is capable of. We noticed very quickly the difference between ‘skills’ that dropped context after completing a request, and ‘skills’ that managed to keep track of the context until the user ‘closed’ the conversation.
Some of the skills that we were exploring also sent ‘cards’ to the Alexa app, allowing users to explore more using a GUI. At the least, this was a summary of the information that Alexa has provided, with other skills sending a full transcript and other times a link to further information on a website. We decided to use this to give users the Bible reference, enabling them to read further around the passage they had just heard, or share it with others.
What we built
By the end of the hackathon, we had built the skill that was able to take and parse a spoken question from a user and serve up a response using scripture with an appropriate introduction and allow for simple follow on questions, such as “Where can I find that in the Bible?” or “Tell me more?”
When BibleChat is asked a question, the database is queried and the response served back to the user in Alexa’s voice. This approach allows us to continue updating the list of topic for BibleChat without having to push updates to the skill on every installed device.
In the demonstration video shot at the end of the hackathon, I ask BibleChat, ‘what is the meaning of life’, which by the end of the video it is able to answer.
For the hackathon, we used a selection of Bible translations versions that we felt would be the best to allow users to begin their conversation going forward. We also created a list of the 100 most-asked questions of the Bible in Google Search which we are adding to our database for BibleChat to call on. Going forward, we would obviously need permissions from translators and copyright holders to use their texts in our app and we are working towards getting approval for this.
We would love to partner with content providers that would be involved with maintaining the content as well as adding new entries. Our database logs requests that BibleChat has no answer for yet which we would be using as a starting point for this work. There are challenges in this as undoubtedly people will be querying BibleChat on hot-button topics once it is released in the wild and we will need to know whether and how to respond to these.
Currently, everything that BibleChat replies with has been manually entered by one of the team. Whilst some of this is essential to allow for nuance and to provide initial content, we would love to improve the way BibleChat gets its Bible verses by incorporating some form of Bible api, allowing it to make the request to a server itself that than us having to paste in the Bible verses for each topic.
We are also submitting BibleChat to YouVersion for global judging amongst all other entries in their hackathon challenge at the end of 2016. They have an amazing amount of experience in many of the above areas and would be an ideal partner for this project going forward.
Please join us in praying that God takes BibleChat forward to serve His Kingdom.