HackWeek Adventures: How we built our own library app

June 6, 2017 Peter Cooman

One of the many things I love about working at Civis is that there are so many opportunities from which to learn and grow. We not only love to learn, we also love to share what we know with the people around us – from brown bag lunches on the latest and greatest tools in data science to lightning talks on any topic you can imagine. Just this week I learned that macaws have the intelligence of 3 year olds (but with bolt cutters for a face), that removing all road signs from busy intersections can actually make driving safer, and that taking a SoulCycle class would probably kill me.

When we say we value education, it’s not just empty words; we regularly schedule hack days and hackweeks. This is protected time for people to work on a side project of their choosing, like learning more about time series analysis, playing around with D3, or laying the groundwork for new Civis Platform tools.

One of these projects is our new Civis Bookshelf app, built for managing our internal library. And by that I mean an actual physical library, the kind with books. Our library has almost 400 books on a wide range of topics, from deep learning to marketing analytics to children’s bedtime stories. It could be an amazing resource. Unfortunately, people tend to find other uses for these books:

If your office has an internal library, I’m sure the picture above looks awfully familiar and that’s a real shame! That was not the only thing wrong with our library – people didn’t know which books were available, we had no way of knowing where each book was at any given time, and people didn’t feel comfortable donating their books because they were worried they would get lost or end up underneath somebody’s computer monitor.

Another problem was that existing library apps left much to be desired. Most were just glorified showcases that put the collection up for display but didn’t support lending. The ones that did support lending restricted basic actions like checking out a book or returning it to one or two designated gatekeepers.

None of these solutions were a good fit for us. We wanted to give everybody the ability to check out books and return them on their own. We also wanted to share board games, CDs, DVDs, video games, etc. One of our former clients once said, “Be the change you want to see in the world,” so as a hack week project, we decided to build our own app!

This is what it looks like:

Users can browse the collection or search for an item by title, author, or genre. Clicking on an item presents a pop-up window with more detailed information, including its cover art, a short description, how many copies are in the library and whether or not they are currently available:

At its core, the system simply consists of a data table that lists each book and some SQL scripts that read and write to that table. Building our own app on top of Civis Platform solves many of our design requirements: everybody with a Platform account (which includes all Civis employees) can check out their own books, as well as return them, donate new items, or submit a request to the current holder if the item they’re interested in has already been lent out. We’re also not limited to just books, after all, it is our table – we can put whatever we want in it!

And that’s not all, Civis Platform can do far more than that! For example, we can automate scripts, setting them to run at specific intervals. So we set up an e-mail script that tracks library activity and sends a daily summary report to our head librarian. Another script sends out a monthly e-mail to all Chicago staff with a list of all items that have been added during the preceding month. For our die-hard users, we run a daily script that posts the new additions to a dedicated HipChat room.

Don’t worry, we are still the data science company you know and love! We have no plans of moving into the library management business. To me, the beauty of this project is that — for what has basically been just a fun side project — we found new and creative ways to use Platform’s existing tools, resulting in an app that fits our personal needs better than any library app currently on the market and that is light years ahead of using an Excel spreadsheet. Now, after all this hard work, I think we’ve earned some time to relax and settle down in a comfy chair with some wine and cheese, and of course, a good book! Because reading is FUNdamental!

This post was co-authored by Leanne Miller and Jo Adler.

The post HackWeek Adventures: How we built our own library app appeared first on Civis Analytics.

Previous Article
Civis Celebrates Pride (with data, of course!)
Civis Celebrates Pride (with data, of course!)

In honor of Pride Month and celebrations across the country, we thought it would be fun to find out how Ame...

Next Article
All The Models: An Intro To Solving Sticky Data Science Problems Quickly with CivisML
All The Models: An Intro To Solving Sticky Data Science Problems Quickly with CivisML

We recently released CivisML, our machine learning service in Civis Platform. With it, I can run all the mo...