Inspiration

Wikipedia is a great tool for browsing when you're bored during a rainy afternoon, but it's kind of lacking in the flair department. That's why we built WikiWhere.

What it does

WikiWhere is a visualization of how articles are connected to each other based on the links in the articles. when an article is entered, WikiWhere creates a graph that has nodes featuring connected articles and edges showing those connections. Entering two article titles will show the fastest way to get from one article to the other using only the links on the page. (But don't use it to cheat on the Wikipedia game). In addition, clicking on an article will show a window with a brief blurb about the article, along with a picture if it exists, similar to what Wikipedia does with link hovering.

How we built it

It all starts in the backend, made in C++ that runs a search through all of the sql data containing entered article's neighbors and each of the neighbors' neighbors and so on. Then, the shortest path is computed once both articles are found and the information is returned to the frontend that creates the graph visualization.

Challenges we ran into

The biggest challenge was the conversion of the Wikipedia data to a readable format. The library we chose did not match up with the format that the Wikipedia metadata was stored in, so it was first necessary to convert ALL of Wikipedia to a sqllite database, which, not surprisingly, took a lot of effort and time.

Accomplishments that we're proud of

We're most proud of how we were able to bring everything together in the end. Our team has individuals with many differing talent pools, and communication was a necessity to finish the project.

What's next for WikiGraph

The next step for WikiGraph is remodeling the frontend. Currently, it is built in d3, but we want to use deck.gl, since it's more performance optimized and interfaceable. The framework can be used to our advantage, especially considering the large amount of data that gets loaded in with each search.

Share this project:

Updates