Technologies Used

Node.js, ElasticSearch, Kibana


Turner uses quite a few business applications, both vendor supplied and built in-house – almost as many applications as employees. Data silos are therefore pervasive. From my own experience as a Satellite Operator, I saw many opportunities to improve workflow where data was duplicated and manually communicated/entered into separate applications. “If only those applications could talk through a common API,” I thought. This was the basis for Aperio.


In April of 2016, Turner Global Technology Operations (GTO) held a “Shark Tank” format pitch event, and Aperio was one of about six proposals selected for the event. I pitched the idea of building this common API to ten of Turner GTO’s executives, and two of them “bought in.”

Between the initial pitch and the planning meetings that followed, I worked with the winner of the Shark Tank event to combine our ideas. He had pitched log centralization with Elastic’s ELK stack. Aperio morphed from building a custom API structure to allowing ElasticSearch do the heavy lifting, serving as both the data store and API.

To demonstrate the power of this idea, I built a scraping system that pulled CNN’s scripts from iNEWS, translated them into objects, then fed them into ElasticSearch. The icing on the cake with the ElasticSearch approach was having Kibana visualizations built-in.

With the iNEWS script data alone, some interesting editorial observations could be made. For example, during the sampling period, Donald Trump was mentioned more frequently than any other presidential candidate.

View the complete slideshow [PDF]


Aperio, while generally accepted as a good idea, fell short when it came to apparent, immediate business value. Management didn’t identify short-term benefits to dedicating resources to the project.

About The Author

Kyle Anderson
I'm a media and IT professional and JavaScript developer who worked most recently as an Associate Broadcast IT Engineer (Tier II) for CNN in Atlanta. One of my life-long goals is to help bridge data divides - missing connections between software systems and data stores - promoting inter-system communication and automation. Many of the projects described here reflect this goal in some way or another.