Normal office shot


New York, NY

About Chartbeat Engineering

Chartbeat gives you the real-time data you need to take action and meet the challenges of the social web. Through our dashboards, browser overlay Heads Up Display, and APIs, you'll get live stats about your your site's visitor behavior - from engagement metrics, to traffic stats, to geographic data and everything in between. Our real-time insights let you act on every opportunity to build your audience.

Our backend is mostly built in Python, using MySQL and MongoDB as data stores – everything hosted in Amazon AWS.

We're constantly on the lookout for talented, awesome, and energetic folks to join our Chartteam in our growing-every-second Manhattan office. See all of our current nerdtastic Chartteam members at

Technology Focus
Small 984983 Jem Young on

Frontend Testing and Build Process at Chartbeat

Chartbeat Software Engineer Jem Young talks about Chartbeat’s testing stack, consisting of Jasmine, Karma, Protractor, Jenkins, and Selenium. He shows the  best ways to put these systems to work as well as good practices to keep in mind when using them. Jem also goes over how his team compiles their applications for a production environment. Finally, he discusses the move from Grunt to Gulp.


View Jem's slides here.

This talk was hosted by the Front End Innovators meetup at Chartbeat in NYC.

Small 589564 Danny Bowman on

Reusable Components

Components give the ability to quickly throw together entire new applications by using existing components, allowing the rapid development of new applications by leveraging existing components. Danny Bowman (Software Engineer, Chartbeat) discusses the merits and pitfalls of developing reusable components. He talks about the trade-offs that accompany the creation and maintenance of components: if it is more “expensive” to create a component than it is to simply duplicate code.


This talk was hosted by the Front End Innovators meetup at Chartbeat in NYC.

Small weschow profile Wes Chow on

PseudoRandomness in Javascript

Problem: Chartbeat generates random unique user IDs in the browser when a new reader visits a customers' sites. The original 2 line random user ID function used would generate over 4.8 trillion trillion (yes, that’s 1 trillion squared) different unique IDs, but in practice we were seeing laughably high collision rates. To add to the challenge of fixing this issue, our solution had to run in all browsers, take up minimal code, and work with zero calls to a server.

Wes Chow (CTO, Chartbeat) describes the experiences in solving this problem as well as the mathematical basics of hash functions and pseudo-randomness.


This talk was given at the Full-Stack Engineering Meetup hosted by Gilt.

If you have questions to Wes, you can now submit them in the comments below the post.


Small moy Nick Moy on

Graphing with Angular + SVG + D3

Nick Moy (Senior Software Engineer) and teammates at Chartbeat use Angular, SVG, and D3 to create the site's real-time data visualizations. Nick and his team decided to create a library that would reduce the learning curve and boilerplate while allowing for fast prototyping. This library is called C3 (think Chartbeat + Angular + D3).

In this talk, Nick reviews the pros and cons of Angular, SVG, and D3, explains how his team uses each tool to produce stunning visualizations, and walks through the challenges and successes of their C3 project.


This talk was given at Front-End Innovators hosted at Chartbeat in NYC. You can find the slides here.

Small k6gaeyum bigger Tadas Vilkeliskis on

Hacking Cassandra at Chartbeat

At Chartbeat we are thinking about adding probabilistic counters to our infrastructure, HyperLogLog (HLL) in particular. One of the challenges with something like this is to make it redundant and have somewhat good performance. Since HyperLogLog is a relatively new approach to cardinality approximation there are not many off the shelf solutions, so why not try and implement HLL in Cassandra?

The last hackweek I spent hacking Apache Cassandra. My goal was to add a HyperLogLog data type to the database, so I could count billions of unique items with very small memory footprint and get redundancy for free. However, the work I’ve done was not entirely a success, but it wasn’t a failure either. The project was much more complicated than I initially anticipated. There are tons and tons of layers of abstractions and it requires a significant amount of time to how things work. So, In this post I am going to walk you through some Cassandra internals and the changes that are necessary to add a new data type. All code examples will refer to Cassandra 2.x. Of course I don’t have fully working HLL implementation in cassandra (see the final section), but it was a nice hack.

Small f62645c81b46222d7d4e519e41b92ae7 bigger Harry Wolff on

The Modern Front-End Workflow - From Start to Finish

Front-end engineers have gone through a bit of a renaissance in recent years. There’s been a wild and wonderful spurt in innovation that has completely changed what it means to be a front-end developer. We now have a vast and wide array of tools available to us, allowing us to develop faster and smarter. We now can push the limits of what a modern web browser can do, accomplishing things that two years ago seemed impossible. Bottom line, right now is an amazing time to be a front-end developer.

Join Us