Class Projects - Spring 2016

Composite (Version 2)

Composite allows users to see the faces of individuals around a specified location via publicly available photos.

Composite allows users to see the faces of individuals around a specified location via publically available photos.
What it does

Composite uses geolocation to aggregate Instagram photos of people around a certain location and arranges them in a grid for users to explore. The purpose of the program is to show how different people around the world look at any given moment . The program could be used by artists, anthropologists, researchers, or a curious observer. The user can immerse themselves in any location around the world, and view not only faces, but the original Instagram photos by clicking on the face and viewing the original post. Further, we load the current geography into a map so the user can get a sense for the area as well. Composite is versatile: it is both a tool for journalists and an enjoyable art piece for curious, global minds.

How it works

The user enters a location into the search bar at the top right of the screen. During loading time, Composite fetches images from the Instagram API at this location, converts them to grayscale to increase the accuracy of face detection, and runs them through OpenCV frontal face detection. When enough faces have been detected, the cropped out faces are returned to the client and placed into a grid for the user to see. The user can load more images from the given location or explore a large interactive map which provides a visualization of the location.

Key Technologies:

● Instagram API ­ Source Content

● Ruby on Rails ­ Web Development

● OpenCV ­ Face Detection Algorithm

● Google Maps API ­ Map Exploration

● Javascript ­ Frontend Development

Next Steps

The biggest challenge facing further development of Composite is that the Instagram API became more restrictive on June 1, 2016. Further development would require an official Instagram development review. Another idea might be to find a different photo­ sharing application to pull from that is less restrictive about API usage than Instagram is currently. If this could be addressed, deployment would be a natural next step. Other features and natural next steps for Composite include: live updating of the face grid, accuracy/speed optimizations, trending locations feature in which users can explore locations of various news events, search by hashtags and other attributes, and filtering of faces by gender, ethnicity, and age.

The Composite results for a search for Bangalore, India.

Basic overview of Composite’s architecture.


  • Eric Brownrout 
  • Ben Strick 
  • William Noglows