Human Learning

I always am thinking of ways for us to leverage digital technology for good. I rarely use my computer or phone for anything productive, our less-noble selves tend to take over and waste our time when we have the power to look up anything online. And so I thought it would be cool to build a mobile app that is entertaining to use but is also constructive. I asked myself two questions: what do I want people and myself to learn? and what is the best way to facilitate this learning on a mobile phone?

Broadly speaking, my answer to the first question is anything interesting. From presidents, to artists, literature, history, politics, technology, beer, music, and more. So long as it is interesting or whacky or wonderful, I think it's worth learning.

Next, I had to figure out the best platform to facilitate learning. To incentivize users to use the app, I would have to make it entertaining and easy to use. A simple UI made the app inviting, and short articles kept it engaging enough for our oh-so-short attention spans to handle.

Huge thanks to my buddy Bao Mai for helping out with design and debugging throughout the process. He's the reason the app looks as pretty as it does

Technical Details

The app uses Firebase for storage, the phone's file system for local information storage, and Swift 4.1 for everything in between. Below (left) is the landing page: a user can hit learn which will generate a random article (right). Each article has a photo (queried from database), as well as a 140 word (or less) writeup about the topic. The user can save the article, as well as hit next to generate the next article.

When the user hits see saved, the app will show them all of their saved articles pictured below (left). From here they can select on an article, which will take them to the article page (right). Here the user can reread the article as well as read more which will take them to a website on their native browser for a more in-depth discussion on the topics. The user can also remove the article from the saved list.

Link to GitHub:

Demo of the app: