Inspiration
Millions of people read Medium, a website that curates user generated articles, every single day for tech/political/artistic/educational/miscellaneous news and updates. Unfortunately, Medium supports only a limited API, and since all the content is user-generated, there is no way to listen to the articles podcast-style while on the go. Thus, I decided to build a mobile app to take care of this.
What it does
The app scrapes and parses Medium's website, and then runs a text-to-speech conversion, allowing users to listen to Medium articles on the go. This is also quite helpful for those with accessibility concerns. The app has a dedicated interface for displaying trending stories and also enables searching for articles of interest.
How I built it
I built this using React Native for the mobile app itself, and I implemented a scraping and parsing system written in python that is hosted using Amazon Web Services' Amazon Lambda. I also used Amazon Web Services' API Gateway to make my Lambda function accessible via an endpoint that my mobile app could access.
Challenges I ran into
The biggest challenge for me was figuring out a way to host the processes that would scrape, parse, and return data about Medium's website to my mobile app. Fortunately, Amazon Lambda provided exactly the sort of functionality I needed, and after experimenting with it for a little while, it ended up being the perfect solution. In addition to this, I had to hack the text-to-speech software to allow for a good listening experience.
Accomplishments that I'm proud of
I'm very pleased that I and others will now be able to listen to Medium on the go! I get a large portion of my news from this website so I'm excited that I can now also consume that information audibly. Also, I'm incredibly happy that I now have a thorough understanding of AWS and Amazon Lambda in particular that I can draw on for projects in the future.
What I learned
I learned a lot about serverless computing through AWS Lambda, how to work with text-to-speech conversion on a mobile app, and how to carefully scrape and sanitize user-generated data.
What's next for MediumPlay
Now that I have constructed this initial framework, I see no reason that I can't build this out to support lots of other interesting content-driven sites that people want to listen to instead of reading. After some scaling work and security improvements, I'm going to launch it to the app store!
Log in or sign up for Devpost to join the conversation.