/ Open Source


Ezra.js took my existing JavaScript knowledge to a new level. Starting in April 2014, I worked on this project off and on for a few months. Through it, I learned so much about Node.js. I spent hours studying documentation, benchmarks, semantics, and syntax, which gave me a deeper understanding of things like async vs sync, server vs client, arrays vs objects, and how the relationship between them all plays out on a live page.

Why I made a Bible app

At the time, I was very unsatisfied with existing Bible apps, so I set out to make my own. I wanted to create something that would benefit the Bible believing community via open source. I had many bells and whistles planned, but it came to a halt when I discovered the Bible Study App. It was a comparable development that was further along than mine, so I moved on.

What is Ezra.js?

Ezra.js includes a tool called Translate.js, which converts Bibles from Unbound and OSIS formats to JSON. The JSON can be used to generate a static HTML Bible using Write.js. Ezra.js is designed to render your generated HTML Bible with hash-based routing, drop-down menu navigation, and infinite scrolling. My current repo is missing over 100 commits from the commit history, but there's a fork of it that shows most of them. When I changed my username and updated my keys, I also removed my old commits.

Here's what I learned

Ezra.js launched me further into JavaScript than I had ever been prior to 2014. Through many revisions, I grew as a web programmer. I'm very thankful for the experience I gained while working on it. The end result is a simple web app for reading the Bible in any translation desired (thanks to the format conversions available).