Organisation: BuzzFeed (United States)

Publication Date: 04/09/2016



Otus is a tool for reporting on powerful people, politicians, businesses and governments. Through a simple web interface, anyone from a reporter at a national publication to a local citizen journalist can select any web page to be monitored. If the words on that page ever change - if, for example, a politician quietly alters the language in their policy platform, or a business removes a member from the management team listed on its About Us page - the reporter will get an email alerting them of the change and linking them to an Otus page highlighting what the differences are. On the alert page, the user is given a number of options to act on what they have learned, alerting their local news outlets or the national media. Otus also lets users post what they have learned directly to social media and other publishing tools, with a built-in screenshotter tool for highlighting the most important details visually. Monitoring changes to websites has long been part of the routine work of beat reporters, and often leads to valuable scoops or promising leads for further investigation. But it is a labor-intensive task, done only by reporters dedicated to covering a small handful of high-profile companies or politicians. Otus enables anybody to monitor the changing language on any number of sites, meaning the scrutiny currently applied only to a small group of people and businesses could be applied much more broadly, to sites that may only be of interest to local or audiences who can be overlooked by large publications with limited resources. While many tools allow users to track changes on websites, Otus is designed specifically for reporters and citizen journalists, with a set of tools to ensure their work has maximum impact. http://www.otus.buzz

Technologies used for this project:

The application is built with python on the Django framework. Python and Django are both open source, increasing the accessibility of the tool. The application is backed by a postgres database (also open source). Blocking network requests are handed off to a celery worker, backed by a redis instance. We can schedule tasks from the Django admin dashboard through the use of the django-celery project and we monitor the health of our redis broker with django-redisboard. We used git as our Version Control of choice and the project will be hosted publicly on github. The websites are rendered with lynx, a text based browser. This allows us to avoid most of the html parsing that would be required if we used the web scraping alternative. We collect snapshots at intervals and "diff" the two latest to detect changes. The diffing is done with the python difflib. For the frontend, we used BuzzFeed's own css library, Solid
Follow this project

Comments (0)

You have to be connected to contribute

You have to be connected to follow

Leave this project and no longer be informed about this project

By joining this project, you will be informed by email when an update or a new contribution is posted on the website.

Thank you for your active participation !

The GEN Community Team