A constant problem in journalism is a lack of trust by readers. One way of improving accuracy is using a CQ to show that an item is properly spelled or properly referenced. Currently, this is a manual process and can lead to many mistakes. CQ Precheck aims to improve this process and increase accuracy through the application of natural language processing and a rolling database of sources.

What it does

CQ Precheck offers two methods of checking an article for accurate names and nouns. The first method allows the user to submit the text of the article and then interactively choose which CQ to add if there is more than one. If none exist, they may add a CQ. As CQs are added, the system will begin to better suggest CQ's or be able to automatically CQ items as they come up.

The second method allows the user to submit a word document and receive it emailed to them and their editors with the CQs annotated at the end of the document.

How we built it

The CQ Precheck internal API was built using the Spring Framework in Java. This service takes care of interacting with the database as well as interacting with the various third party services. These services include Microsoft's Graph API and the Google Natural Language API. Microsoft's Graph API is used to send the email with the attached CQ'ed document, while Google's API helps with identifying items that may need to be CQ'ed.

The frontend was created using the Express.js Nodejs framework as well as the Twig templating engine and jQuery. It takes care of interacting with the internal API and updating what the user sees.

Challenges we ran into

New frontend frameworks were explored but ultimately decided against due to complexity. On the server side, there was some difficulty interacting with Spring's OAuth server and getting everything set up.

Accomplishments that we're proud of

We were able to complete a full working product in under 39 hours and ended up with more features that originally planned. We were able to learn new technologies and new ways of creating applications to improve the world.

What we learned

We learned how to implement the client and server side of OAuth communication. We are also learned more about how to parse objects in Javascript and transform them into different objects. Various methods of authentication with different third part services

What's next for CQ Precheck

Continuing to work with it to help improve things for journalists. Continuing to develop tools that help our fellow students.

Built With

Share this project: