Home App Scan To Listen

Scan To Listen


Most people love to listen to the text instead of reading. Having the scan to Listen to option will be a better option for those who expect listening to text instead of reading.

Scan to Listen is the first personal project I’ve taken from idea to completion. It began as an app for scanning the barcode of a physical book to see if an audiobook of the same title was available on Audible. Since then, new features have emerged, including the ability to search the barcode of CDs and vinyl to find the corresponding album on Spotify, as well as the ability to generate barcodes to share your discoveries with other Spotify users. It has over 150 successful downloads on the Android Play Store at the time of publishing.


I am a voracious listener of audiobooks, but I also enjoy searching bookstores for new releases. What I ended up doing was photographing books that looked interesting and then manually reviewing each one when I got home to see if there was an audiobook edition. I thought there had to be a better way to do this! What if you could use your phone to determine whether a physical book has an audiobook counterpart?

After checking the Play Store for an app that did this, I discovered a slew of barcode scanning apps that took you to websites where you could purchase the book but not the audiobook. At this point, I thought it would be a good idea to make something useful for myself and others.

The Construction

Since this project was not about personal growth, my technology choices were strongly influenced by resources that I was already familiar with and that were also well suited to the task at hand.

The app is made with React Native, a Facebook tool for making JavaScript mobile apps that are compatible with both Android and iOS. I spent two years at Zoetrope working with this technology, so I was already very familiar with it. However, since then, a group of development tools known as Expo has appeared. This includes features such as over-the-air updates, which accelerate the release cycle significantly when opposed to a full Play Store release.

This device also needed a backend API; however, I intended to keep all user data on the phone by saving the redux state to local storage, eliminating the need for a database for the time being. Instead of using a full-featured web platform like Django, the lightweight Python micro web framework Bottle was used.

For event collection, Segment.io was used; this platform offers a single API for collecting event data, which you can then customise to be sent to over 200 different destinations, including analytics tools like Google Analytics and Mixpanel, as well as Slack and MailChimp if desired.

The following are some of the other techniques that were used:

  1. Sentry is a tool for documenting errors.
  2. For server hosting, use Digital Ocean.
  3. For certificate administration, use Letsencrypt.
  4. The web server is NGINX.
  5. Pipenv is a virtualenv and dependency management tool for Python.
  6. For auto-formatting, use black. Python source code
  7. PyTest is a Python unit testing framework.
  8. Project management with Trello

User Reaction

I’ve been promoting it on different types of social media since its public release, including Instagram, Facebook, and LinkedIn, but Reddit has by far the most scope and interaction. Here’s an example of a post that became the top post of the week on r/reactjs. These posts provided a clear line of contact between myself and users, which was vital in the early stages after release when critical bugs were discovered. Users outside of the UK, for example, were having trouble opening the Audible URLs returned from the API; it was discovered that this was due to someone getting an Audible.co.uk URL and being redirected to the homepage for the country they were in, such as Audible.com for the United States. This resulted in prompt action, with the user being able to choose which foreign version of Audible they were using in order to obtain the correct top-level domain.

Steps to Create Scan and Read QR Code Listening Stations

In your classroom, do you use QR codes? I’ve had the privilege of assisting teachers who want to incorporate digital resources into their classroom libraries this year. Working with the LitLife team, I’ve visited schools that are ready to link readers to digital text using iPads and Chromebooks in their classrooms. Scanning and reading literacy stations are one of my favourite ideas to share with students. Students can check a QR code at these stations. They’ll go straight to a favourite book’s digital edition – QR code listening stations!

I figured it would be fun to show you how to make QR code listening stations in your classroom in three easy measures!

Read-Alouds on the Internet

To begin, find online reading material that students can engage with on their computer. You can connect to a video hosted on a website like StorylineOnline or a favourite YouTube page. Copy the connection to the media you want students to listen to as shown in the image below once you have it.

Make your own QR codes.

By pasting the connection into a QR code generator, you can generate your own QR code. There are several QR code developers to choose from, but I created the QR code in this example using the free website GoQR.me. You can see how I pasted the relation into a QR code generator in the image below. This website produced a QR code for our listening station automatically.

Listening Stations with QR Codes

You could print the QR codes on cardstock paper, lock them to a special location in the classroom with low-cost packaging tape, or create posters for your classroom library to make them easier for students to scan. The options are really limitless! Below is a poster I created with Spark Message, which includes the QR code I just created.

What’s nice about this form of activity is how easily students can be connected to “just right” material. Students may use any web-enabled computer, including a Chromebook, to search a QR code. They can search a QR code using a device with a webcam by going to this website. They can use any QR code scanner software on their mobile device to search a QR code. If students have an iPad with iOS11, the camera on their iPad will automatically scan the QR code and direct them to the website you’ve selected.

Creating QR code listening stations that students can search and interpret is a perfect way to curate reading materials for students of all ages. In your classroom library, you might put up posters for reading aloud. You may also share the QR codes you’ve made with your family.

Frequently Asked Questions

What technology is used to scan barcodes? – The Expo BarCodeScanner component, which is simple to set up and use; however, the spinning logo animation used bespoke code during the API request.

What APIs are being used? – The GoodReads API for locating books by ISBN, the Discogs API for locating albums by barcode ID, and the Spotify API for locating Spotify URLs.

How long did it take to develop? – I designed this application in my spare time while working a full-time job, so only 5-6 hours per week were dedicated to it on average, resulting in a six-month development cycle with another six months of on-and-off bug fixing and new feature development.


One big flaw in the software is that many documents from before the 1980s lack barcodes, making them useless in these situations. New barcodes or price stickers are often put over the original barcode in secondhand shops. It is possible to identify items from their covers using reverse search technologies such as TinyEye, but this would take far more space, computation, and effort than simply scanning barcodes.

The app currently only supports the platforms Audible and Spotify, but it has been designed to be extendable to other platforms such as Apple Music.

Although working on this project has been a lot of fun and satisfying, it would be great if it could generate some revenue as well. It’s been difficult to monetize so far. Neither the Amazon Affiliate Program nor the Audible Affiliate Program is appropriate for you:

The Amazon software allows you to promote unique product connections, but these would open Amazon in a browser rather than the Audible app, which would be inconvenient for users.

Advertising links that deep-link into Audible are available via the Audible software, but they cannot be aimed at a particular product, only deals or new sign-ups.
There are just a few mediocre choices left:

Put a paywall on the app right away; this would sadly stop a lot of people from even using it.

Allow users to pay for scans after a few trials, which can result in a low conversion rate.
Having a paid premium version with additional features will necessitate more time investment in future growth.

In-app ads, this is my last resort because the app would decrease customer loyalty and will require a significant increase in user base to be successful.
If anyone has any other monetization ideas, I’d love to hear them. You can email me here.

Steps to Follow for Scan to Listen

The app is currently only available on the Android Play Store, but users have requested that it be made available on iOS. Since it was written in React Native, the same code can be used on iOS as well, saving time and money. Since I build on Linux, the main issue is that you do need a Mac and Xcode to publish to the App Store, as well as a $100 annual fee to become an Apple developer. In the near future, I hope to release an iOS version!

In a Trello board, I have a backlog of new feature ideas, including the ability to see YouTube music videos for the albums you’ve scanned and the ability to share scan history between devices. In the near future, I hope to be able to devote more time to these.

Thank you for taking the time to read about Scan to Listen; if you’re an Android user, please download it and let me know what you think; I’d love to hear your thoughts!



Please enter your comment!
Please enter your name here