Dashboard is a web application providing front end access to makes it easy to Media Cloud, a database of news articles collected by Harvard's Berkman Klein Center. The database includes articles form over 40,000 blogs and news sites over a 10 year period. Dashboard provides a number of real-time visualizations, making it easy to explore and refine queries.
The application consists of front end visualization code as well as a python Flask server which provides a REST API and communicates directly with the Media Cloud servers. The application is modular and extensible, allowing new REST endpoionts and new visualization widgets to be added easily. Each search involves mutliple queries, each hitting multiple REST endpoints. Each search also results in the contrustion of several visualization widgets, each of which can depend on any combination of queries and endpoints. To manage this complexity, I architected an asynchronous solution for updating the relevant widgets once the necessary REST queries have completed (blog post).
The Media Cloud project is a collaboration between many people at Harvard's Berkman Klein Center and the MIT Center for Civic Media. My role was to architect and develop the dashboard application from scratch, as well as to supervise MIT undergraduates contributing to the project. I worked closely with Media Cloud leadership and the back end database team to ensure that Dashboard would be reliable and intuitive application that meets the needs of media researchers.