We are recruiting for new members for Fall 2021! Learn more

Location History Analyzer

Code Final Product

An open source tool to quickly organize millions of Google location history points by bounding box into a single spreadsheet with weekly summaries. (Fall 2016)

Technologies used: JavaScript, Oboe.js for efficient chunking and streaming of files, HTML, CSS, Leaflet JS

About the Project

Community Legal Services routinely deals with issues regarding wage theft from employers. In most cases, employers withhold payment for overtime hours and, as a result, employees must sue for their rightful wages. To prepare for these cases, CLS goes through an extensive interview process with employees to construct a detailed sequence of events regarding their whereabouts for the times in question. However, this process is very time and cost intensive. However, for employees who have android smartphones with location history tracking enabled, this process can be streamlined by analyzing their entire location history data. That is where we stepped in. We created a way to analyze years of location history for relevant data all without uploading data to a server, guaranteeing data security and privacy.

About the Client: Community Legal Services

Community Legal Services of Philadelphia (CLS) is the first pro-bono legal clinic in the greater Philadelphia area, serving thousands of individuals since its inception.

You can find a link to their website here.

Tutorial Uploading location data Creating bounding boxes Creation of CSV


By creating this application, we saved CLS lawyers countless hours in interviewing victims of wage theft. Additionally, this product allowed cases to proceed to legal proceedings with an objective source of legal evidence for many clients. CLS is releasing this product to other pro-bono legal clinics in order to help them with the process of combating wage theft across the nation.

The Team

Fall 2016 Team members:


  • Upload Location History .json file of any size

  • Process all data within the client’s web browser without need for external servers

  • Allow clients to select area of work and isolate data time points within those areas

  • Generate a CSV file with entry and exit times from areas of work

  • Preview all location data points on a map and cluster on the client end to enable seamless viewing

  • Tutorial for all new users to the platform

Technical Challenges

  • The most difficult portion of the project was loading all the data points into memory considering that some location history files contain upwards of 500 MB of data. We had to figure out a way to chunk and stream the file efficiently while making sure to display all points on the frontend and void crashing the user’s browser.

  • We also had to make sure that the resulting timesheet and data points were output in a format easily usable by CLS lawyers. This final step was among the more difficult tasks as we had to make sure that the CSV output file could be submitted for court evidence.