Keen IO and the "Heartbleed" OpenSSL Vulnerability

Hello all,

As many of you are aware a security vulnerability in OpenSSL was announced yesterday. Like most of the other sites on the Internet, Keen IO was vulnerable to this. We patched our systems around 9PM PST last night night and completed a deployment of new keys for our SSL certificates at 2:30PM PST today.

While we have no evidence that any attack was performed or that any material was exposed by this exploit, we believe it to be in the best interest of our users to do the following:

  • Change your password.
  • Generate new API keys. You can do this from your project’s page when logged in by clicking on “Show API Keys”. You’ll need to update your SDK usage or other Keen IO integrations.

If you have any questions feel free to drop us a line.

Cory Watson

Bigger than a breadbox.

Announcing Keen-SDK-NET

The Keen IO SDK for .NET is now live! Now .NET developers can track user engagements, errors, server interactions or any custom event type.

We are very happy to have an official SDK to support the Microsoft community of developers. It works for mobile and server side applications and supports the full functionality of the Keen IO data collection API.

I hope you’ll take advantage of this SDK, install it from NuGet, try it in your code and maybe even join us on Github with questions, suggestions or improvements!

Justin Johnson

community guy, hacker, music nut. i like to help people build stuff.

Announcing KeenClient-Scala

The Keen IO SDK for Scala is now live! Now Scala developers can track and query user engagements, errors, server interactions or any customer event type at a very large scale with a native SDK!

The Scala SDK is a personal project of mine. When I joined Keen IO I needed to wrap my head around our API so that I could help customers and better understand their use cases. Since Keen IO didn’t have a Scala client I decided I could kill two birds with one stone, er, JAR and learn the API whilst creating a new SDK!

For those of you not familiar with Scala it’s an object-functional programming language that is compiled to Java bytecode and therefore runs on the JVM. In addition to many syntactic changes from Java, Scala has many features of functional programming languages. This melding of syntactic improvement, Java compatability and functional expressiveness have won over many engineers. I’m one of them!

Over a few weeks I worked on this project and am ready to share the beta SDK with the world. The SDK uses spray, the asynchronous, Akka-based HTTP client and makes extensive use of Futures so that you can continue doing other work while we diligently store your events.

In addition to basic event writing the SDK also supports a significant portion of the Data Analysis API as well. This makes it one of the most complete Keen IO SDKs!

I hope you’ll look the SDK over, try it in your code and maybe even join me on GitHub with questions, suggestions or improvements!

Cory Watson

Bigger than a breadbox.

I Love My Team at Keen IO

I woke up this morning with this e-mail in my inbox from my teammate Peter Nachbaur. So. Awesome.

Vikeens,

Oars up, we’re on the warpath. We’ve liberated some villages behind us, and we’ve got our eyes set on increasingly bigger targets. To celebrate our recent accomplishments (best month of sales and the impressive growth of our engineering and product pipeline!) Vikeen Michelle consulted the sages and determined we should lay jolly waste to Fort Funston and surrounding beaches. We’ll head over after next Laurelsday at Heavybit to spend some time together.

"But wait", I’m sure you just mumbled loud enough to make your cat lash her tail. If you had a cat. "Kyle just edited the sacred Introspective Happy Hour calendar invite." You reassure your cat, Doris, that you’d never intentionally miss a meeting on your calendar but especially not anxiousexcited.

Fear not fellow Vikeens, we are fiercely adaptable. Like the dwarves of old, we go forth with both hammer and stein.

image

Can you think of a better way to share our feelings than at a beach sunset? Actually have you seen how much sunlight we have now? We might get cold before then.

In the next few days, be sure to reply to that invite and stay tuned for musings on fine topics like “Castle Buckets: great beach toy or best toy ever?” and “What is the optimal Sunhat-Brim-Length ::: Pallidity ratio”.

yours in war and peace,
- Techno Vikeen Peter

ps. was this whole thing just an excuse to use that picture? I don’t even know anymore, but look at the detailing.

http://www.youtube.com/watch?v=FwsntHcWiy4&t=68&authuser=0

Daniel Kador

Software engineer, entrepreneur, geek, all around okay guy.

Tupac Shakur Is Not Mentioned In This Blog Post

Today, Keen IO is happy to announce general availability for a new event collection endpoint.

It’s called HTTP POSTAL.

image

Sending events to Keen IO no longer requires a computer. Or electricity. Just write your events on a postcard, add a stamp, and drop them into the nearest mailbox.

image

Don’t have a postcard? We’ll take anything you can write on, including:

  • Scrolls of Parchment
  • Cocktail napkins
  • Basketballs

image

Since the beta launch of HTTP POSTAL, we’ve received literally thousands of events:

image

Each event is reviewed by a trained POSTAL worker. Events are checked for syntax (double quotes please!) then painstakingly keyed into our database.

If you provided a return address, expect a confirmation of your event within 4-6 weeks.

image

Due to the recent popularity of unicorn foals not every response will contain a unicorn foal sticker.

Support for queries coming soon.

Josh Dzielak

Full of code, carbohydrates, and laughter.

A Scrappy Dashboard with Adjustable Timeframes in 5 min

This week I’ve been hacking on a dashboard to quickly analyze some pageview and signup data. 

Very commonly I want to be able to change the timeframe for my data views on the fly, so I can review the past hour, day, week, month, etc. Here’s one of my quick techniques for enabling this: a query string parameter.

A query string parameter appears at the end of your URL like this:

image

By simply modifying this URL param, the dashboard viewer can change the timeframe for the data that’s displayed in the charts. Keen IO supports a variety of timeframes (e.g. “today”, “previous_5_minutes”, “this_week”, “previous_12_months”).

Here’s a gist for the mini-dashboard above. For a more detailed explanation, follow along here:

First, add the JavaScript snippet below (I found it on Stack Overflow). This code grabs the timeframe data from your URL. In our example above, the query string contains just one parameter, but you could easily chain more on the end (for example, if you’re drawing a line chart you’ll probably want to add a parameter for interval too). This function will parse out the query string data into a “urlParams” object for you.

var urlParams = {};
(function () {
  var match,
    pl     = /\+/g,  // Regex for replacing addition symbol with a space
    search = /([^&=]+)=?([^&]*)/g,
    decode = function (s) { return decodeURIComponent(s.replace(pl, " ")); },
    query  = window.location.search.substring(1);

  while (match = search.exec(query))
    urlParams[decode(match[1])] = decode(match[2]);
})();

console.log(“urlParams”) // {timeframe1: "last_24_hours"} 

Now create a friendly timeframe variable based on the URL param.

var timeframe = urlParams["timeframe1"]

Next set the timeframe on your Keen IO queries equal to this variable.

// Data for the PieChart - Tells What Types of Signups Happened
 var signupsByType = new Keen.Metric("signups", {
   analysisType: "count",
   groupBy: "type",
   timeframe: timeframe,  // use the variable timeframe from the query string
 });

I also like to include the timeframe on the chart title, so it’s always clear to the viewer what data they are seeing.

// Viz Settings for a PieChart
var signupsPieChart = new Keen.PieChart(signupsByType, {
  height: 250,
  width: 550,
  chartAreaLeft: 50,
  title: "Signup Types (" + timeframe + ")",  // use timeframe in the title too!
  font: "Helvetica Neue"
});

signupsPieChart.draw(document.getElementById("signup-types"));

Obviously, this solution isn’t ideal for something like a customer-facing dashboard, but I hope you’ll find it quick & useful for your scrappy internal use.

Got questions? Don’t hesitate: team@keen.io.

M. Wetzler

Director at Keen IO.

Joining A Startup: 1,000 Terrors, 9,000 Delights

Switching jobs terrifies me. I bet it terrifies you too. It’s ok to admit it. We’re all friends here. It turns out that those feelings ramp up even more when you’re considering joining a startup. I’m going to tell you about the things that scared the shit out of me when I first thought about joining Keen IO, and what came of them in the end.

Last year, it felt like all my professional dreams were finally being realized. Here I was — a self-taught, grew-up-in-a-trailer Southern boy — working for Twitter! I joined Twitter as a Site Reliability Engineer and soon rose to manage the omnipresent Observability Team, providing tools for monitoring and visualizing the performance of every aspect of Twitter. You see, I really, really love metrics and providing visibility into complex systems. In fact, I’ve been hacking on this problem in one way or another for most of my 20-year career. But, even with this amazing, complex problem to work on, all was not right with my world…


I photoshopped myself into this picture of Univac II. No, I’m not that fucking old.

Sunday nights started to feel more and more ominous as I dreaded the arrival of the coming work week. All week, I’d run from meeting to meeting, dealing with a nonstop stream of personnel, product, and technical issues. When the end of each day rolled around (all too soon, most days), I’d realize I hadn’t written a lick of code or created a single disruptive idea that day. I was helping my team get right and making the engineers at Twitter happy, but I often felt unfulfilled myself because I valued solving technical and product problems, and I wasn’t getting to do that work.


Sunday I’m biting my nails with anxiety and Friday I’m drunk and riding an inflatable ostrich with a soggy pith helmet. How is this relevant again?

Suffice it to say I wasn’t super happy, and the Bay Area being the land of startups, it’s not surprising that I began to flirt with a few. I eventually met up with Kyle, the CEO of Keen IO, and I quickly felt like I’d found something special. I loved the technology and the culture of Keen IO: Every employee here participates in sales, support, and whatever technical areas they are personally interested in. There is also an aversion to process, unless the team naturally arrives at it.

As Kyle and I discussed our philosophies on growing the business, I began to feel that this was a place where I could be happy and fulfilled while making a real contribution. It was also right up my alley, with their focus on metrics and making sense of them in your business.

Before I knew it, we were talking about an offer. And that’s when I discovered something completely unexpected: I was terrified of joining a startup! Like I said, Keen IO seemed like a great gig, but when I thought about actually doing it, I got cold feet. So I tried to figure out why:

  • There were only about a dozen employees at Keen IO, and many of them had known each other for decades. How would they react to an outsider with a new personality and different ideas? Especially one who isn’t shy about sharing those ideas. Would I be comfortable joining the “family” that is a small startup? Would they like me? I have so many great friends at Twitter that this was an important thing to me.
  • Technical founders can sometimes be very attached to their work and their implementation. Considering Keen IO was growing fast, it’s likely that big change was on the horizon. Would I get a say in this change? Being a veteran, it’s really important to me that my opinions are heard and considered.
  • I have a strong will to do things as “right” as I can, and that has often led to me working in Operations. Would I get pigeonholed into only Ops work simply because I’ve had exposure to Ops at such a huge scale at Twitter? I’m a programmer more than I am anything else, so this was a big question for me. I’ve done my share of rebooting boxes and handling upgrades – noble and necessary work, yes, but not what I wanted to define me.
  • I’m used to a big place with fixed titles and well-defined areas of scope. How would I react to being expected to answer support emails, do deep technical work, and take out the trash? Was I romanticizing the idea of a startup too much? Did I really want to do all the things?
  • The risks are high for a small startup with big ideas. Was I willing to put in my lot with these crazy people? I’ve got a wife and daughter that I have to consider. Would they understand why I’m leaving the illustrious Twitter they were so proud of me for? Would we end up in a cardboard box or having to move back to our families in Nashville? Would a sharknado hit the – nevermind.

I tossed and turned many nights as I debated each of these fears in my head. I drove my wife crazy guessing, second-guessing, reconsidering, hemming, hawing, and just being an overall pain in the ass.

Two things convinced me to pass on Keen IO and stay where I was: Concessions from my boss that I could focus more on coding and product work, and the very motivating promise of the 9 years’ pay worth of stock I’d be leaving on the table if I left. That would buy me so many shoes!


I’m seriously some kind of pixel wizard. Come at me.

But Keen IO was persistent, and Kyle emailed me one day, subject only: “Will you really be happy in 2014?”

Damn it, Kyle. He was right! Keen IO’s culture, interesting technical work, focus on customer happiness, and my love of the product ultimately convinced me to make the leap.

Fast forward to today: I accepted the job at Keen IO, gave notice and suffered the slings and arrows of leaving a job. After a bit over a month at this job, I can now take stock of my fears and decide how much they really ended up mattering. I can also provide a bit of advice to anyone else looking to make this change:

  • Joining a small team can be hard. The team at Keen have been very welcoming, and I feel like I’m already making some really great friends here. Even if you’re an introvert like me, you can set some goals to participate in one or two social activities per week and still take some time to regain your energy and focus. It also helps to find one or two people who share common interests and focus on building relationships with them first. If all else fails, just start yelling at people about your amazing collection of 40+ pairs of Nike Air Max shoes. That gets ‘em every time.

You know you want to talk about my shoe collection.
  • Making technical decisions is very democratic at Keen IO, and with so many things in motion, it’s often hard to nail down big changes, like making the switch to a new programming language or a new piece of infrastructure. These often take a lot of small conversations rather than the big architecture meetings I was used to. My best advice is to spend time learning about the team and about the choices before suggesting change. Avoid the temptation to change something just to make it familiar. Also, be sure to approach these conversations with empathy. It’s not about ramming your opinion into things. It’s about doing what’s best for the business, the customer, and the culture.
  • The risks are still very real. Startups are notoriously fickle, and there are pivots, funding, and personnel changes that loom over us every week. There’s not much I can say here, as it comes down to your personal situation and risk aversion. I worked with my wife to plan for the risks, and we’re happy with the state of things. Startups seem to have flexibility in signing bonuses vs. salary vs. stock. If you can’t have an open conversation about your needs and these factors with the people you’re about to work with, it might not be a good fit. Arrange the compensation to cover your worries. I used a signing bonus to placate my fears. Your recipe might be different.
  • Some of you may be wondering about that stock bombshell from earlier. What motivated me to give up all that future money? That turned out to be pretty easy for me, but your mileage may vary. Since a third of my stock was vested, I was already looking at a handsome nest egg. Was sticking around for two more years in a job that was making me unhappy worth it to be become a millionaire? Not for me. I knew that, even if I had “fuck you money,” I’d still want to do exactly the type of thing I’d be doing at Keen IO. Some people would retire and climb mountains or travel the world; I’d just write code and work on a great product. Keen IO felt like that company I’d been looking for my whole career. Why not start doing what I loved now?

If I was a dog I’d be a Corygi. This has nothing to do with this blog post.

In closing, I enjoy my work at Keen IO so much that I had to be dragged from my computer last night for dinner and I woke up early today — a Saturday — to write this post. I find great satisfaction in the work that we’re doing and feel very connected to our users. There are still many days when I feel frustrated that there’s not a department in the company that solves the problems that I don’t want to deal with or when I have trouble finding consensus for some new idea. I also really miss all the amazing friends I made at Twitter. But these troubles are easily offset by having the freedom, impact, and pleasure I get from working at Keen IO. I’m also really happy all the time, and my family has seen the change in my mood. Overall, this has been one of the best decisions of my career, and I’m very excited for the new challenges that Keen IO brings. I don’t regret a thing.

Cory Watson

Bigger than a breadbox.

Joining A Startup: 1,000 Terrors, 9,000 Delights

Switching jobs terrifies me. I bet it terrifies you too. It’s ok to admit it. We’re all friends here. It turns out that those feelings ramp up even more when you’re considering joining a startup. I’m going to tell you about the things that scared the shit out of me when I first thought about joining Keen IO, and what came of them in the end.

Last year, it felt like all my professional dreams were finally being realized. Here I was — a self-taught, grew-up-in-a-trailer Southern boy — working for Twitter! I joined Twitter as a Site Reliability Engineer and soon rose to manage the omnipresent Observability Team, providing tools for monitoring and visualizing the performance of every aspect of Twitter. You see, I really, really love metrics and providing visibility into complex systems. In fact, I’ve been hacking on this problem in one way or another for most of my 20-year career. But, even with this amazing, complex problem to work on, all was not right with my world…


I photoshopped myself into this picture of Univac II. No, I’m not that fucking old.

Sunday nights started to feel more and more ominous as I dreaded the arrival of the coming work week. All week, I’d run from meeting to meeting, dealing with a nonstop stream of personnel, product, and technical issues. When the end of each day rolled around (all too soon, most days), I’d realize I hadn’t written a lick of code or created a single disruptive idea that day. I was helping my team get right and making the engineers at Twitter happy, but I often felt unfulfilled myself because I valued solving technical and product problems, and I wasn’t getting to do that work.


Sunday I’m biting my nails with anxiety and Friday I’m drunk and riding an inflatable ostrich with a soggy pith helmet. How is this relevant again?

Suffice it to say I wasn’t super happy, and the Bay Area being the land of startups, it’s not surprising that I began to flirt with a few. I eventually met up with Kyle, the CEO of Keen IO, and I quickly felt like I’d found something special. I loved the technology and the culture of Keen IO: Every employee here participates in sales, support, and whatever technical areas they are personally interested in. There is also an aversion to process, unless the team naturally arrives at it.

As Kyle and I discussed our philosophies on growing the business, I began to feel that this was a place where I could be happy and fulfilled while making a real contribution. It was also right up my alley, with their focus on metrics and making sense of them in your business.

Before I knew it, we were talking about an offer. And that’s when I discovered something completely unexpected: I was terrified of joining a startup! Like I said, Keen IO seemed like a great gig, but when I thought about actually doing it, I got cold feet. So I tried to figure out why:

  • There were only about a dozen employees at Keen IO, and many of them had known each other for decades. How would they react to an outsider with a new personality and different ideas? Especially one who isn’t shy about sharing those ideas. Would I be comfortable joining the “family” that is a small startup? Would they like me? I have so many great friends at Twitter that this was an important thing to me.
  • Technical founders can sometimes be very attached to their work and their implementation. Considering Keen IO was growing fast, it’s likely that big change was on the horizon. Would I get a say in this change? Being a veteran, it’s really important to me that my opinions are heard and considered.
  • I have a strong will to do things as “right” as I can, and that has often led to me working in Operations. Would I get pigeonholed into only Ops work simply because I’ve had exposure to Ops at such a huge scale at Twitter? I’m a programmer more than I am anything else, so this was a big question for me. I’ve done my share of rebooting boxes and handling upgrades – noble and necessary work, yes, but not what I wanted to define me.
  • I’m used to a big place with fixed titles and well-defined areas of scope. How would I react to being expected to answer support emails, do deep technical work, and take out the trash? Was I romanticizing the idea of a startup too much? Did I really want to do all the things?
  • The risks are high for a small startup with big ideas. Was I willing to put in my lot with these crazy people? I’ve got a wife and daughter that I have to consider. Would they understand why I’m leaving the illustrious Twitter they were so proud of me for? Would we end up in a cardboard box or having to move back to our families in Nashville? Would a sharknado hit the – nevermind.

I tossed and turned many nights as I debated each of these fears in my head. I drove my wife crazy guessing, second-guessing, reconsidering, hemming, hawing, and just being an overall pain in the ass.

Two things convinced me to pass on Keen IO and stay where I was: Concessions from my boss that I could focus more on coding and product work, and the very motivating promise of the 9 years’ pay worth of stock I’d be leaving on the table if I left. That would buy me so many shoes!


I’m seriously some kind of pixel wizard. Come at me.

But Keen IO was persistent, and Kyle emailed me one day, subject only: “Will you really be happy in 2014?”

Damn it, Kyle. He was right! Keen IO’s culture, interesting technical work, focus on customer happiness, and my love of the product ultimately convinced me to make the leap.

Fast forward to today: I accepted the job at Keen IO, gave notice and suffered the slings and arrows of leaving a job. After a bit over a month at this job, I can now take stock of my fears and decide how much they really ended up mattering. I can also provide a bit of advice to anyone else looking to make this change:

  • Joining a small team can be hard. The team at Keen have been very welcoming, and I feel like I’m already making some really great friends here. Even if you’re an introvert like me, you can set some goals to participate in one or two social activities per week and still take some time to regain your energy and focus. It also helps to find one or two people who share common interests and focus on building relationships with them first. If all else fails, just start yelling at people about your amazing collection of 40+ pairs of Nike Air Max shoes. That gets ‘em every time.

You know you want to talk about my shoe collection.
  • Making technical decisions is very democratic at Keen IO, and with so many things in motion, it’s often hard to nail down big changes, like making the switch to a new programming language or a new piece of infrastructure. These often take a lot of small conversations rather than the big architecture meetings I was used to. My best advice is to spend time learning about the team and about the choices before suggesting change. Avoid the temptation to change something just to make it familiar. Also, be sure to approach these conversations with empathy. It’s not about ramming your opinion into things. It’s about doing what’s best for the business, the customer, and the culture.
  • The risks are still very real. Startups are notoriously fickle, and there are pivots, funding, and personnel changes that loom over us every week. There’s not much I can say here, as it comes down to your personal situation and risk aversion. I worked with my wife to plan for the risks, and we’re happy with the state of things. Startups seem to have flexibility in signing bonuses vs. salary vs. stock. If you can’t have an open conversation about your needs and these factors with the people you’re about to work with, it might not be a good fit. Arrange the compensation to cover your worries. I used a signing bonus to placate my fears. Your recipe might be different.
  • Some of you may be wondering about that stock bombshell from earlier. What motivated me to give up all that future money? That turned out to be pretty easy for me, but your mileage may vary. Since a third of my stock was vested, I was already looking at a handsome nest egg. Was sticking around for two more years in a job that was making me unhappy worth it to be become a millionaire? Not for me. I knew that, even if I had “fuck you money,” I’d still want to do exactly the type of thing I’d be doing at Keen IO. Some people would retire and climb mountains or travel the world; I’d just write code and work on a great product. Keen IO felt like that company I’d been looking for my whole career. Why not start doing what I loved now?

If I was a dog I’d be a Corygi. This has nothing to do with this blog post.

In closing, I enjoy my work at Keen IO so much that I had to be dragged from my computer last night for dinner and I woke up early today — a Saturday — to write this post. I find great satisfaction in the work that we’re doing and feel very connected to our users. There are still many days when I feel frustrated that there’s not a department in the company that solves the problems that I don’t want to deal with or when I have trouble finding consensus for some new idea. I also really miss all the amazing friends I made at Twitter. But these troubles are easily offset by having the freedom, impact, and pleasure I get from working at Keen IO. I’m also really happy all the time, and my family has seen the change in my mood. Overall, this has been one of the best decisions of my career, and I’m very excited for the new challenges that Keen IO brings. I don’t regret a thing.

Keen IO

"Corporations are people, my friend."

How to install Keen IO Analytics into your Node.js app in mere seconds.

This is a guest post by Seb Insua. 

Those that want to cut to the case, should go and take a look at the project on Github here.

Have you ever found yourself putting off adding analytics until an app reaches its later stages of development and you’re less busy?

I think this is a mistake we all fall into all too often. In a highly competitive ecosystem, users will sometimes be with you on launch and gone the week after. By waiting too long, we can lose our one chance to study early user behavior so it’s very important that we take every opportunity we can to understand how they interact with the service while they’re around.

But we also shouldn’t be wasting valuable development time installing analytics either. Surely installation should be a quick and simple process leaving you time free to work on the features that truly differentiate your product.


Keen IO is an analytics platform for people that realize that off-the-shelf solutions often trap you into thinking about and analyzing data in cookie-cutter ways, and that want an edge in finding that one particular insight that might make all the difference to a business.

What if it were possible to future-proof your analytics needs, while also getting the benefits of quick and easy installation?

I’ve made the Express.JS middleware express-keenio to help make this happen.

Installation of analytics is now a 15-second process.

Just look how easy it is:

var express = require("express"),
    keenio = require('express-keenio').configure({ client: { projectId: '', writeKey: ''} });

var app = express();

app.post('/payments', keenio.trackRoute('payments',  { body: ['userId', 'itemId', 'type', 'quantity', 'price'], reaction: [] }), function (req, res) {
  // Your code creating 'data' goes here.
  res.json(data);
});

app.listen(3000);

A few lines of code, and your app (whether it’s an MVP, a source of passive income, a side-project, or something you’re making at a hackathon) will immediately begin capturing analytics data.

Later on, as your understanding and usage of analytics grows, an extensive configuration system allows you to adjust and restrict the middleware’s behavior however you please, with whitelists and blacklists, as well as options to control many other aspects of its operation. The Github README has everything you need to know.


Philosophy

If you’re not defining events on an individual basis, it’s helpful to come up with an underlying philosophy to event creation that holds true for a large number of user interactions.

My approach was to consider an event to be a crystallized interaction and describe it as a mapping between an intention and a reaction, a rough analogue to an HTTP request and response. The only other information required to define useful events was coming up with some way of binding them to identities (metadata such as a user’s IP address, or information such as email and username) and other forms of contextual environment metadata (such as the user agent.)


The first release of express-keenio can be found on Github here.

I welcome any feedback, issues to report, or pull requests you may have. It has been tested, but use some caution when installing it, as I can not guarantee that it is production-ready quite yet.

Find out more about Seb Insua.

Seb Insua

Thoughtful.

Need a hand with Keen IO? AirPair can help!

image

We’re huge fans of pair coding here at Keen IO – if you’re tackling something new, or even if it’s something you’ve done a thousand times before, it’s always useful to have another set of eyes and an extra pair of hands there to help figure things out or think things through in new ways. That’s why we’re so pumped to announce that we’ve partnered with AirPair to give our customers a new way to team up and get more out of their apps through custom analytics. 

AirPair is an awesome service that allows you to remotely team up with other developers via video chat and screensharing – any time you need it. As we speak, 2 experts well-versed in Keen IO (Hi, Seb! Hi, Jordan!) are on-standby, just itching to help you out however you need. Need a hand integrating custom analytics into your app? They’ve got you. Want a second opinion on what your data model should look like? No problem. Stuck on data visualizations? They’re there to help.

Interested in giving it a shot? Check out the Keen IO Experts page on AirPair – because, honestly, an extra bit of help can make all the difference in upping your analytics game.

Justin Johnson

community guy, hacker, music nut. i like to help people build stuff.