Hacking with Wikipedia

18 May

Last year, Bandwidth hosted a Tadhack, a global hackathon each year focusing on new trends in all things communication. The biggest theme was integrating our APIs to other APIs (Wikipedia, Watson, Ad servers, etc..). One of the winners was Roman Myers (Website, Github) with his text-to-wikipedia hack called WPCatFacts.

WPCatfacts

Originally meant to fetch facts and photos about cats, Roman’s hack turned out to be much more powerful. Simply text a topic and get back the first blurb of the wikipedia article. Then, text the topic followed by picture and get back the related picture for that article.

Screen Shot

The integration with Bandwidth is fairly straight forward. Get the message content in the text body, run the lookup in Wikipedia, determine to send picture, then send it out.

Flow

Wikipedia API

Oddly enough, Wikipedia doesn’t have a great JSON article API. The wikipedia API returns something dubbed ‘Wiki markup’. Wiki markup, is anything but consistent.

There is no commonly accepted standard wikitext language. The grammar, structure, justification, keywords and so on depend on the particular wiki software used on the particular website.
Different Wiki programs may support use of different sets of HTML elements within wikitext. In some cases, permitted HTML elements may be configured by individual wiki sites. MediaWiki supports many common HTML tags.

Fortunately, there are a few different libraries written for Node up on NPM to help out with the formatting and oddness. For this case, Roman went with WTF-Wikipedia. About a year later, wtf-wikipedia is still maintained and updated on a somewhat regular basis.

Results

Out of all the hackathon teams Roman won the ‘Best College Hack’ on a team by himself.

You can see the code for WPCatFacts on Github or try a live version.

Sign up for a Bandwidth account by following the link to right -> or clicking here
Deploy

Dan Tolbert
Dan Tolbert
dtolbert@bandwidth.com

Computer Nerd. Beer Snob. Music Enthusiast. Idea Machine. Developer Evangelist for Bandwidth.com. Telecommunications Expert.

No Comments

Post A Comment