Proof-of-concept of emotion-targeted content delivery using machine learning and ARKit.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore Remove notebook and output files Jan 14, 2018 Add Medium post link Jan 26, 2018


Loki presents a news feed to the user much like other popular social networking apps. However, in the background, it uses iOS' ARKit to gather the user's facial data. This data is piped through a neural network model we trained to map facial data to emotions. We use the currently-detected emotion to modify the type of content that gets loaded into the news feed.

We were inspired to build Loki to illustrate the plausibility of social media platforms tracking user emotions to manipulate the content that gets shown to them.

Loki was a hackathon project created by Lansi Chu, Kevin Yap, Nathan Tannar, and Patrick Huber during nwHacks 2018.

For more info, please see the Medium post here

Demos and Screenshots





Running the backend server requires Python 2 and Postgres 9.4+. The backend expects a local Postgres database called loki; otherwise, the URL to a remote database instance must be provided via an environment variable.

$ export DATABASE_URL="postgresql://user:pass@host:port/dbname"
$ cd flask-backend
$ pip install -r requirements.txt
$ python

Tech Stack



Logo courtesy of Casmic Lab.