Everything is interconnected. Somehow. Even seemingly disjoint companies, countries, and currencies, are connected somehow through events that happen in the world. But how can we visualize that?

What it does

ShoMe is an application that allows for the visualization of the shortest "linkages" between two entities (currency, country, or company) through global events. As a easy-to-access website, ShoMe allows users to quickly see the important events and intermediaries that tie two entities together. This allows for an easy way to explore the whole range of sociopolitical, cultural, and economic factors that affect certain sectors and markets.

How we built it

Using the Kensho Knowledge Graph API, we were able to pull event data that related different entities. Algolia was used to provide robust and faster search, as the Kensho API was rate-limited. ShoMe runs on Wix, with custom JavaScript interacting with a Python Flask backend hosted on Google Cloud.

Challenges we ran into

The Kensho API had a limit of 1 request/second, shared between all participants. This made is difficult to access the data on the first hack night. After getting a new API key, it was fun to experiment with the API and data! In addition, optimizing performance on Google Cloud, and ensuring that our graph search was working the way we wanted was something we struggled with.

Accomplishments that we're proud of

We are proud of a global collaboration with Jiaqi Yang from China, who played a major role in developing and implementing our graph search algorithms.

What we learned

We learned about Kensho and Google Cloud APIs. We also had the opportunity to research about social issues, transportation problems, and various other applicable/practical topics while brainstorming an idea. We are proud that our app can address each of these issues.. in a global analytics/big data type of approach!

What's next for ShoMe?

ShoMe can visualize connections between two seemingly independent entities. Our current algorithm computes the shortest path using timelines between each entity. We hope to implement more advanced methods to compute relationships between the entities, as well as the strength, directionality, and quality.

Share this project: