So You Want Developers to Love Your API

Sally Brown Love GIF

In November, I gave a talk at the API Strategy and Practice Conference in Austin. It was my first time attending and speaking at the conference. I can’t say enough great things about it. I called the talk, “Building Community with Developer Love,” which was perfect for the conference because it was extremely welcoming and had a great community feel to it.

Some of the first things developer facing companies focus on is great documentation, code samples and sample projects, education through tutorials, how-to’s, and blog posts. If, as an API company, you aren’t, you might want to reconsider some of your decisions. These are all great things and very much needed, but sometimes there’s one thing missing from their focus… developer love! Developer love can help you grow your community, and in-turn, your platform.

The Sweet Spot

Sweet Spot Venn Diagram

There’s a sweet spot that documentation, code, and education along with developer love creates. The more you develop the developer love circle, the easier it is to find the sweet spot.

A lot of times developer facing companies think, “I’m a developer, so I know how to relate to other developers to help grow a community.” While this is partially true, developer communities are made up of people from all kinds of backgrounds and experiences.

The great thing about developer love is that it can be universally applied within a community.

Two Way Street

All Developers Aren't Alike

People ask themselves two things when they join a community: Are they like me? Will they like me? To help answer these two questions, you have to be clear about what you stand for as a platform and as a community and make people feel welcome.

This is where developer love comes in. Developer love is both loving developers and developers loving your platform. It is a two way street: To get love, you must give love. 💕

Being able to engage, build relationships, effectively articulate, and be an active participant in developer communities is great. It’s important to remember, however, that it isn’t all about you. Don’t expect everyone to go crazy over your latest blog post just because it’s good content. Unless your community is already loving your blog and platform, they won’t be sharing it with their friends like you had hoped.

What Are Examples of Developer Love?

I find that it breaks down into four categories: Sharing, Face to Face, Snail Mail and Email, and Support.

See the video from the talk to see some great examples of all of these:

APIStrat 2015 Growing Communities with Developer Love Talk

See the slides here.

Also, make sure to check out the rest of the videos from the Developer Experience session of the conference. There’s some extremely helpful and awesome ideas in the session.

Ask Why

Lastly, it’s important to always ask why. Developer Relations, Advocacy, Evangelism, and Community work should always be full of conscious decisions. Should you write a blog post highlighting a cool feature or send out an email to pair program with new users?* Always ask yourself, “Why am I doing this?”

*Hint: It is a good idea to share knowledge, not features.

Now, go spread some developer love!

Mesmerizing GIF

Taylor Barnett

developer, community builder, and huge fan of tacos

Meta-Analysis: Analyzing the Efficiency of Our Analysts

This is a guest post written by Chris Rothe, VP of Engineering at Red Canary

Data plays a pretty important role for us at Red Canary. Being a cyber-security company, we monitor hundreds of millions of events every day in search of potential cyber threats to businesses around the world.

Data drives everything from growth and profitability to our technology stack, and yes, even to how we measure and improve the productivity of human beings (our analyst team). We don’t do this to be big brothery, but to ensure we improve quality, control costs, forecast hiring correctly, prioritize workflow optimizations, and keep our analysts from burning out.

Finding diamonds in the rough

Our analysts are the lifeblood of Red Canary. Without them it would be impossible to deliver the unprecedented detection we do. To understand why, it helps to think of our process of threat detection like a diamond mining operation (bear with me):


If we were running a hobby diamond mine in our backyard we could process the ore by hand and ensure that no diamonds slipped through our pans. But we are running an industrial operation where it is critical that all of the components are continuously running efficiently and accurately. Not to mention that any small optimization we can make yields the same amount of diamonds at a lower cost, which helps both Red Canary and our customers.

The robotic components of our mine are relatively easy to monitor. We make sure they are on and that they are producing at expected levels.

But how do we measure the analysts who are so fundamental to our ability to find high-quality diamonds?

We measure everything - especially our humans

Despite our rigorous analyst training, feedback program, and mind control initiatives, no two of our analysts do things the exact same way. Measuring how each special snowflake behaves isn’t as simple as measuring a machine, but it is critically important. Our success as a business will always be highly reliant on increasing the number of endpoints each analyst can handle without a decrease in quality (or job satisfaction).

Right, but what do we actually measure? In this case, the most obvious measurements are inputs and outputs.

  • How many potentially threatening events is an analyst flagging for review?

  • Of those, how many are they confirming as threats, and is that rate consistent with other analysts?

  • How long does it take them to process each set of events they flag?

  • How accurate is their output? Are they sending false positives to our customers? (to be honest, this isn’t very useful because our analysts make so few mistakes…ahem, humblebrag, ahem…)


With Keen, it’s easy to visualize data with readymade charts and dashboards. These measurements are essential for tracking how well our analysts are performing and identifying breakage. But what happens when we want to invest strategically in improving the performance of our system to help it scale better?

Profiling our analyst team

For our software components it’s easy to run analytics. We instrument code to profile latency and look for opportunities to cache data to reduce I/O needs, implement smarter algorithms, or remove unnecessary time-wasting complexity. For our meatware components this isn’t as easy. (We tried a Borg implementation, but they balked at the spandex suits.)

Instead we use Keen to track every movement analysts make while using the Red Canary Analyst Portal, including when they leave it because the Portal failed to provide the necessary information.

We pack a lot of context into the visual representation of a potentially threatening event so we track which pieces are useful. The ones that aren’t used are just visual noise that we remove. Similarly, when we introduce new context we pay careful attention to whether it helps or hurts the overall performance.

As you can see, Keen allows us to track, name, and visualize any type of event, which makes it easy to spot important information.


So what? Keen replaces statsd+graphite

When we first started measuring things, we stood up a statsd server, started jamming some numbers at it, built some views in graphite, and generally confused ourselves. Not because the tools aren’t great - they are - but because they did more than we needed and required us to keep more servers alive.

When we found Keen we were struck by how simple and clean it was to get started, organize data, and immediately get value. It is truly a statistics and analytics platform written for developers.

Particularly critical for us was the ability to make our data models as verbose as necessary without incurring additional cost. We weren’t sure what dimensions were going to yield the key insights so we just started storing all of them (or at least the ones we could think of; one 10-minute call with a Keen data engineer helped us identify even more dimensions to add).

Questions like “how long after an analyst is hired do they reach the performance of the rest of the team?” are now simple to answer. Our dashboards are beautiful combinations of aggregate metrics and charts that allow us to quickly assess the performance of our entire system, analysts included. We store many millions of events in Keen per month and are really just scratching the surface when it comes to analyzing the data.

Analytics power our business and Keen powers an important piece of our analytics. We highly recommend trying it out if you want to get more out of your data without the pain of building and maintaining a system in-house.

Chris Rothe

VP of Engineering, Red Canary

How doc-driven product design is helping us build better software

Ohhai, world! Dustin Larimer, here. I’m a product designer and engineer at Keen IO. My team focuses on making our analytics APIs more accessible and understandable via point-and-click interfaces, visualization tools, and SDKs.

But designing a user-experience around an API can be challenging. At an API-centric company like Keen, Stripe, Twilio, or lots of others, your product isn’t something you can see or touch so you don’t have the luxury of visual cues to help people intuit how it works.

To tackle this challenge, we’ve put together a team with a unique blend of engineering, interaction design, content strategy, and product management. This blur of disciplines has led to some pretty interesting discoveries about the design of developer-facing products and services that I’m excited to share with the world.

Form reveals function

One of the biggest design challenges for any API-based company is that your core product is effectively invisible. Nearly every other type of physical or digital product relies heavily on affordances: visual or tactile features that hint at what a thing is capable of, and how you might use it. In this way, form reveals function, making it accessible to the mind with minimal effort or education.

Magnalite Aluminum Kettle, by Scott Wilson, founder of MINIMAL

This is how many well-designed products actually teach you how they work. One glance, and you just get it. When is the last time you read a how-to guide for a kettle? An API, on the other hand, is a whole different animal.

An API is invisible, but that is not to say it’s formless. The form of an API is its documentation. Unfortunately, docs are typically the last thing anyone wants to spend a lot of time on. This results in confusing mystery-meat software for the rest of us.

If we were designing any other type of product, we would almost certainly start with its form. We would sketch and explore different interfaces and elements, bend and mold our ideas about what it even is, integrate our constraints, cut out the crap, and hopefully arrive at something so crystal clear and refined that you just couldn’t imagine it any other way.

Essence - “Ideation” by Chris Murray, Virginia Polytechnic Institute & State University (VT)

There’s real beauty in this degree of clarity. Why don’t we do the same with software? What might happen if we start with documentation?

Doc-driven prototyping

My team recently kicked off a new effort to break keen-js, our JavaScript SDK, into three distinct modules:

This work was inspired entirely by what we’ve learned while supporting and maintaining this codebase. The monolithic Swiss Army knife approach to JavaScript libraries has run its course, often causing more headache than whatever convenience a bundled library once offered.

One of the biggest shortcomings of a giant bundled library is documentation bloat. Despite several attempts to streamline the docs, there was just too much to cover in an attention-constrained world. Many important details and features were simply hidden in the noise.

Breaking these out into stand-alone projects let us focus on writing the most concise, widely relatable documentation possible for each module’s specific purpose. And that’s exactly what we did, before writing a single line of code.

Each project began and evolved as a sketch within a file, introducing the project and installation options, outlining high-level functionality, and then demonstrating everything with detailed examples and design rationale. This approach created a wonderful new canvas for exploring the form of these tools.

We refined behavior patterns so that a few familiar patterns could be reliably anticipated throughout the library, and established new naming patterns for easier reference and recall. In some cases, this resulted in a few minor but necessary breaking changes. We also used this opportunity to stub out exciting new functionality while experimenting with how it might be written into use.

At the end of this exercise, we were only committed to a single file, which could be easily shared with other teammates and customers who were eager to see the latest and share feedback. Several iterations later, we were ready to write code… which goes surprisingly fast, when you feel confident in knowing exactly what you’re building!

What do you think of doc-driven design?

It’s important to note that this is one big experiment. It’s a work-in-progress, but one that we’re super excited about, and would love to discuss with anyone who is interested.

Have you or your teammates tried doc-driven software design? Are you tackling different challenges in similar ways, or similar problems in different ways? Is this a topic you care to read more about?

Weigh in with a comment, join us and discuss on Slack, shoot me an email, or kick off a conversation on Twitter.

Thanks for reading!

How to Find a Nice Photo for Your Content

hanging light bulbs photo

Photo by Danny Fowler, Creative Commons license

Writing something that you would like a lot of people to see? It’s a good idea to include a photo somewhere in your content. It will help your piece stand out in feeds like Facebook & Twitter (by some estimates, it can nearly double your engagement).

If you’ve ever done a search for “FREE STOCK PHOTOS” you’ll know this is easier said than done. Those sites are terrible.

However! Just this month, in a dusty corner of the internet, I have found a secret, glittering treasure trove of wonderful photos free for the taking. (I get really excited about this sort of thing).

Turns out Flickr, the ancient photo-sharing service I stopped using over 5 years ago, is actually pretty awesome these days. Not only to they have lots of photo content from semi-pro photographers, they have great search filters too.

It’s pretty much the simplest process ever:

  1. Go to flickr and search for something related to your post or that might evoke an emotion that complements your post (“concentration”, “surprise”, “calm”, etc). A bunch of photos will come up, but don’t look at them yet.
  2. There is a drop down for license type. Select Creative Commons if you’d like to find photos for your personal use. Select Commercial Use if you need something for work. You are now looking at an inventory of free-to-use photos. Rad!
  3. Filter on large photos, which tend to be taken with better cameras.
  4. Try the filters for “shallow depth of field” or “minimalist”. These photos tend to be a lot more professional-looking.
  5. Find a photo you like.
  6. Don’t forget to credit the photographer when you use the photo. This is surprising easy since Flickr generates embed code snippets for you to copy & paste directly into your content. You don’t even need to find a place to host the photo!

Happy photo hunting :)

Screenshot of flckr search

^ Example Search Results

Michelle Wetzler

Chief Data Scientist

2015: A Data Odyssey

Happy 2016! We wanted to start this year off by saying THANK YOU for being a Keen IO user and community member. We also wanted to highlight some of the things we accomplished as a company and a community in 2015, and give you a sneak peek into what lies ahead for 2016.

New ways to explore your data

We focused on making the power of our analytics API more accessible in 2015 by investing heavily in the Data Explorer - our point-and-click tool for querying and visualizing event data. We Open Sourced all of it so you can embed it into your workflow or share it as a tool with your users. We also added the ability to build custom funnels to the Explorer so you can track user drop-offs, conversions, and more.

Faster and better

So many of you are embedding analytics into your product to share with end users or delivering analytics to teams so they can make day-to-day decisions with data. We added query caching and saved queries to make results and dashboards available faster than ever. We also DOUBLED our query speed and made these performance stats visible to everyone. zooom.

Keen Pro aka the “Best Friends” Plan

We launched Keen Pro - a plan to help enterprises and companies use data as a competitive advantage. We’ve partnered with some awesome companies so far! Keen Pro is really more of a “best friends” plan, because we get to work with these customers super closely. Here are some of the perks:

Dashboard Caching: Load dashboards within sub-seconds every time, even if you have billions of events, multiple queries, or thousands of concurrent users looking at metrics.
Raw Data Access: Pipe your data to AWS for ultimate flexibility: run SQL queries, custom MapReduce jobs, and more. And permanently backup and enrich your data in real time to a system you control.
User Project Creation API: Programmatically create Keen projects and manage users to deliver white-label and embedded analytics at any scale.
Dedicated Data Engineer: Get expert assistance on metrics selection, data modeling, implementation, and ongoing optimization, with a single point of contact who knows the ins and outs of your business.

Your stories of data exploration and discovery

We grew our community a lot this year and we’re super excited to have new faces on board as employees, customers, and community members! Many of you shared your stories of data exploration and discovery, projects you built (including a hamster tracker that was featured in the Wall Street Journal!), and lessons you’ve learned. We also launched and grew our community Slack chat to 800+ people in 2015. THANK YOU! Have an analytics project or use-case you want us to feature? Let us know.

Bluecore Embedded Analytics by Keen IO An embedded customer dashboard by Bluecore

EMC Dashboard by Keen IO EMC {code} community dashboard

Culture and People

We care a lot about personal development at Keen IO, so much so that we “open sourced” many of our Learning Labs to the entire community! We hosted two learning labs on Effective Communication, and will be offering our Emotional Intelligence Learning Lab in 2016. We also kicked-off our coaching program, in which over 90% of Keen employees are involved!

Interested in personal development and effective leadership? Request an invite to our next Learning Lab!

There’s a lot more, but these are some of the highlights we’re most proud of.

We’re excited to continue helping you, your teams, and your customers make exciting discoveries with data in 2016!

If you have any ideas or things you’d like to see, let us know or ping us on Slack.

Happy Exploring!

Alexa Meyer

Growth and UX. Cheese chaser. Aspiring behavioral economist.

How to Set Yourself Up for Predictive Analytics Success

Many companies are investing in predictive analytics models to better predict things like churn or fraud, or to identify better advertising and selling strategies. But before you can plug data into these models, you need to understand your current data.

Peter and I gave a talk on this topic at H2O World in November, which was a good fit, since H2O is creating an open source machine learning platform to help companies make smarter predictions.

In our talk, we focused on the key components you need to set yourself up for predictive analytics success. Here is an overview of the topics we covered.

What you need to understand your existing data

  • Create a team with a champion who can allocate resources and budget; the key stakeholders who need to give input on their requirements; and people with the technical background required to collect, store, and visualize the data

  • Understand what types of data you can collect, which tools are available, and how to create an effective data model

  • Understand how to address various challenges in data collection: accessing data stored in multiple locations, differentiating between duplicated data vs. new information, enriching data, and following privacy regulations

  • Figure out what your data is telling you by asking the right questions. What are users doing or not doing? How many users log in every day? How many people are converting to be paid users?

  • Agree on your most important business or product problems and what the right metrics are. Can you impact these metrics by understanding them and modifying your business or product?

What you need before running a predictive model

  • Understand what predictions you are trying to make. How will these predictions impact your business or product?

  • Understand the leading indicators that will influence your business or product. Be sure to define success - how will you know it’s working?

  • Understand who will see the results of this data. Is it for your internal team or external clients?

Additional Thoughts

Iterate, Iterate, Iterate. The analysis will never be perfect the first time. You’ll learn things and need to make adjustments, whether it’s changes to the initial data model or the predictive model. That’s ok and expected. After all, the whole point of analytics is to discover things that weren’t already obvious.

With great power comes great responsibility. Make sure to think through your product and brand implications. What impact will this have on society? What privacy should you protect?

As you can see, it’s a lot to think about. But once you have these components in place, you will be ready for success!

Next Steps

If you’d like to get more details on the areas we covered, you can watch our full presentation below:

And if you’re interested in learning how Keen can help you lay the groundwork for predictive analytics success, please reach out to us for a free data consultation or try Keen for free. We’d love to chat!

Maria Dumanis

Good news everyone!

Announcing Data Explorer 2.0 - Build custom funnels without code!

We’re super excited to announce support for funnels in the new Data Explorer! Funnels are one of our most popular analysis types, and now you can create funnel queries with multiple steps and visualize the results right inside the Explorer.

Funnels are a powerful type of analysis for answering questions with multiple stages, such as user retention and drop-off, attribution analysis from referrals and campaigns, advanced user targeting, and more.

With Keen, there’s no limit to the range of custom funnels you can build. But previously, you had to write code to get the results. Now, you can quickly build any custom funnel in the Explorer, like this:

Need more steps? No problem. Here’s an example of a custom 5-step funnel:

You can learn more about using funnels in our docs or our Intro to Funnels Guide. But funnels aren’t the only thing we’ve added.

So what else is new in Data Explorer 2.0?

For those of you that don’t know, the Data Explorer is a point-and-click interface for querying and visualizing your event data. It interacts directly with Keen IO’s custom analytics APIs. Since the initial release of the open source Explorer, we’ve made a bunch of improvements, including:

A visual refresh

We’ve restructured the Explorer’s interface and made buttons easier to find and understand. We’ve also smoothed out the rough edges and made the entire query builder and visualization area more cohesive and consistent.

Support for saved and cached queries

The new Explorer lists out all your project’s saved and cached queries for easy loading, and it also lets you create new ones, edit existing ones, and delete any you no longer want. You can get all the details in this blog post.

A boatload of bug fixes

We’ve fixed quite a few little bugs that have popped up since our initial open source release, so the Explorer is running smoother than ever.

What else would you like to see?

We’re excited to be working on the Explorer out in the open and we’d love for you and your team to participate in making this project more useful for everyone! Feel free to log an issue for a bug you’ve found or an improvement you think makes sense. And of course, we’re always open to pull requests for bug fixes and improvements.

So what are you waiting for? Try out Explorer 2.0 for free on Keen IO or download the latest from Github, NPM, or our CDN. Check out for all of the Explorer usage options.

Questions? Reach out to us or ping us on Slack!

Happy Exploring!

Meetup: Building a World-Class Analytics Team with Airbnb, Invoca and Keen IO


Since we moved into our dedicated HQ in downtown SF, we’ve been really excited to host a series of meetups covering some of the biggest challenges in the analytics space. Last week, we brought together three stellar speakers from Airbnb, Invoca and Keen IO to talk about what’s involved in “Building a World-Class Analytics Team.” We tackled this topic from a few different angles - as part of a marketing team with no immediate plans to build out a dedicated data science team (Invoca), as a data science company (Keen IO), and as a large scale online marketplace doubling their data science team year over year (Airbnb). Here are the three talks and Q&A panel!

Julia Stead, Director of Marketing, Invoca

Julia’s talk took us on her journey of being the sole marketer at Invoca, measuring lead gen with a handful of simple tools, to growing a team of 13 marketers, each leveraging some of their 24+ analytics/measurement tools to measure sophisticated content engagement metrics and multi-touch attribution.

Julia’s key takeaways for marketing teams that aren’t ready to hire a full time data scientist or data science team:

  • All out-of-the-box analytics tools need some degree of customization, no matter what they try and sell you
  • Easy data extraction and bi-directional syncing is essential for martech decision making
  • Adding a Business Intelligence expert to support marketing tools (and other areas of the business) can really help with tracking KPIs
  • Marketing teams are ultimately looking for a single view dashboard… the holy grail of marketing!

Michelle Wetzler, Chief Data Scientist, Keen IO

Michelle spoke to our audience about the unique challenges posed by building a team of data-focused individuals to work on a seriously powerful analytics platform and its corresponding APIs and tools. Michelle notes that most people hired at Keen have never had the word “data” in their titles, but isolated some of the skill sets/profiles she considers to be more important than previous experience with data:

  • Platform Engineers to build large scale infrastructure
  • Engineers and designers to focus on web experience and data visualization
  • Consultative Engineers to help customers understand data and data challenges
  • Analysts to run analytics on Keen’s business itself

Elena Grewal, Data Science Manager, Airbnb

Elena was the 6th member of Airbnb’s Data Science team, which is now 60 strong. In her talk, she dives deep into some of the lessons she learned from growing this team, noting that the right structure of data science teams depends on business size and needs, that companies should start out hiring data generalists before looking at specialists, both in their recruitment and onboarding tactics, and more.

Q&A Panel Session

The evening wrapped up with a lively Q&A session from the audience. Questions included:

  • How have you addressed diversity in your hiring?
  • How do you test for data skills?
  • What is the onsite analytics test at Airbnb like?
  • What does it take for a Junior Data Scientist to become more senior? What advice do you have to groom them towards this?
  • What were some data findings that lead to a memorable customer communication?
  • How do you differentiate processes around measuring and reporting recurring metrics and ad hoc, one off analytics requests from the larger business?
We’re looking forward to hosting more informative meetups like this in 2016! To stay up to date on future events and recordings, let us know!

Want to know about our next meetup? Stay up to date by subscribing below!
Sarah-Jane Morris

Community and Awareness

Permission to Fail

People write a lot about the emotional rollercoaster of startups. Turns out, that roller coaster doesn’t slow down after year 1, 2, or 3. I know firsthand that the metaphor doesn’t go away after you hit 100 or 500 paying customers, after you’ve been backed by Sequoia Capital, or after you’ve captured millions of dollars in revenue. The roller coaster climbs higher, making the drops all the more terrifying. Slack’s CEO sums it up pretty precisely:

“Now that we’re on this crazy success trajectory, the degree of stress and the degree of doubt and the degree of second-guessing hasn’t been reduced at all,” he said. “In many respects, it’s actually worse now because there’s more at stake. […] I think I wake up every day and look in the mirror and say, ‘We’ve almost certainly fucked this up completely.‘” - Stewart Butterfield, CEO, Slack

One thing I’ve noticed is that it’s easy to write and to be transparent when things are going great. It’s harder when the roller coaster dips downward, when your stomach feels like it’s in freefall. Way back in January, our team experienced one of those dips. Up until this point, for 24 straight months, Keen IO’s business had grown 5-15% - every month! We were embarrassingly confident, and we felt unstoppable. It was coming off of this incredible rise that reality hit and we got to experience a little more of that roller coaster everyone was talking about.

I wrote the following company-wide memo during that time, when we got to learn what it was like to fall a little bit.

writing keyboardPhoto by Damien Pollet, Creative Commons

On Tue, Feb 24, 2015 at 5:55 PM, Michelle Wetzler wrote:

Hey everybody - I hope you don’t mind me sharing a relatively raw piece of writing. It started out as a sort-of blog post, but then I realized it’s really a letter to you all. Feeling a bit brave right now and clicking send. Hope it’s helpful.


Permission to Fail

It’s been a rough few weeks for Keen. In January, a big customer churned. We didn’t close any new big deals. So, we not only missed our revenue target, our MRR and incoming event volume actually went down for the first time ever. We discovered the dedicated topology we sold to one customer actually made their user experience worse, and refunded their money. A couple of teams have been struggling to find their footing; emotions have been running high. We’ve also been wrestling with data inconsistency issues, which have left some of us wondering if we would even recommend Keen to other developers. In last week’s outage, we had our first major data loss in over 12 months. The platform has been unstable, leading to not only worried emails from our customers, but many sleepless and stressful days & nights for our teammates. And perhaps worst of all, several folks have admitted that they’d have a hard time recommending a friend to join Keen, because it’s just too stressful at this time.

During a time like this, it’d be easy to say: let’s double-down, work through the weekend, push through the issues, get ‘er done, rally!

Instead, let’s give ourselves permission to fail.

Giving myself permission to fail has been one of the most liberating, stress-relieving, and rewarding things I’ve done in last year.

The only way we can become a truly great company is if we open ourselves to the possibility that we might not be.

And you know what? It’s okay if we’re not. If Keen busts, we’ll all find new grand adventures. Some us could start a new company together, or get boring jobs at big co’s, or sail around the world, who knows, the world is full of lots of amazing opportunities.

This whole thing is an experiment and has been an experiment since the beginning. We wanted to work together, to solve problems, to create something people loved, to forge our own culture. We wanted to challenge ourselves. We wanted to be happy & fulfilled in our work. We wanted to do it our own way. For the most part, we’ve done that, and done it better than we ever imagined. Who knows if it will continue to work. I have a lot of evidence and strong intuition that it will, but I can’t predict the future. It’s still an experiment.

To give yourself permission to fail, it helps to imagine the path where the absolute worst happens.

What would happen if you walked away from your job right now and never looked back? What would happen if you did your job the best you could, and you still failed completely? What would happen if the company went under?

I can imagine all sorts of things I would do if Keen went poof. At first, I felt guilty for thinking this way. Then I felt incredibly liberated. Try it. Your work becomes 10X easier when you realize you don’t have to do it. You don’t have to do this. You are incredibly talented and there are so many opportunities out there.

To give yourself permission to fail, you have to untangle your ego from your work. Having your ego tied up in your work is a handicap. You can’t think strategically or take risks when you and your personal well-being are on the line.

I used to (and sometimes still do) romanticize Keen a little too much, thinking of it as my child, a part of myself. I’ve been working hard to untangle this. Not because I plan to care any less about Keen, but because I don’t want my ego & personal fears to get in its way. Keen and Michelle are two different things, or at the very least they are less overlapping than they used to be. If Keen is struggling, it need not mean Michelle is struggling. If Keen is taking a risk, it need not mean my happiness is on the line. It also means checking my ego and admitting (with some difficulty) that even if I fail completely at my job, Keen is going to be just fine. And, that if I fail completely at my job, that I will be just fine. It just means I tried something too difficult for me, or my assumptions were wrong. That’s ok too.

I’ll admit it’s a little bit awkward for me to write all of this out. It’s possible that I care about Keen more than anyone and here I am saying it’s OK if it busts. Don’t get me wrong, it’s a little bit terrifying to think about. But it’s also a huge relief, a weight off my shoulders. It would be okay. When failure is no longer scary, my work is no longer driven by fear. Paradoxically, thinking about Keen’s failure makes me more confident in our success. Not only does it become less scary, it seems incredibly unlikely.

After 24+ solid months of growth, it would be silly to conclude it might all be falling apart because we had a stagnant month, or even a few bad months. Part of the reason the platform struggles is that we continue to grow like crazy. Just today we hit a new record for event volume. In the past months, two companies have approached us about deals that would double our business. Many people at Keen will tell you “it’s the best job I’ve ever had.

Still, I appreciate this time to reflect when our confidence is shaken a bit. To be honest, we were probably overdue for it.

Building Keen is the most rewarding thing I have ever done, and I love it dearly. But I’m learning to accept that fulfillment isn’t about achievement. It’s about accepting what happens. It’s about listening to what you want to become. To do that, you have to be comfortable with many possible paths, many possible outcomes. We probably won’t fail, but if we do, I’ll be okay. We’ll be just fine.



So what happened? Did any team members walk away? And why did I just publish this on our blog??

This lesson was valuable to me personally, and I thought it might be helpful to other people. We learn some of our most important lessons from our struggles, even though they are some of the harder things to share about.

We all know that the Silicon Valley is a strange place, a bizarre land of meteoric rises and epic failures, of techno-heroes and greedy villains. But…. actually, mostly, it’s a bunch of well-meaning nerds, generally-ordinary people trying to build stuff while facing a variety of challenges along the way. Those stories are worth sharing, too.

Finally, I’ll share how my team reacted, which will explain my third reason for sharing: it was a message that we needed at the time, and perhaps that message can help some folks out there who may need it too.

Despite my suggestion to consider their options, no one quit. Almost everyone in the company responded, either in a reply-all or a private message to me:

They said:

  • “THANK YOU”.
  • “This was so uplifting”.
  • “Bad FUCKING ass”
  • This is what I signed up for”
  • “I just teared up reading this”
  • “I have something to share too…”
  • “I’m grateful for the opportunity to work with you”
  • “I wish we talked more about our fears and failures”
  • “Your thoughts about ego remind me of this Alan Watts quote
  • “Reading this made me feel more motivated to work to get us back on track”
  • “While I know everything will be fine even if Keen fails, I really really like it here and I don’t want it to end :)”
  • “This is going to be an incredible year”

And some didn’t say anything. They simply walked over and gave me a big hug.


I’ll be sharing more stories like this through the coming months. If you want to follow along you can subscribe here ->

Michelle Wetzler

Chief Data Scientist

Today we’re excited to announce that we have an integration with Reekoh!

Reekoh is a new IoT Platform-as-a-Service, with a unique and powerful “app store” model for customization. There are many IoT platforms entering the market, but Reekoh takes extensibility to a new level with Plugins.


Plugins are the way that users can build the custom features and data flows they need for their specific IoT application and deployments. Plugins allow users to easily and quickly build integrations to communication gateways, storage options, cloud service connectors and platforms, as well as other development stack tools such as loggers and exception handlers.

So how does Keen IO and Reekoh work together?

The Keen IO Connector is one of the first Plugins released to the Reekoh Plugin Store, because powerful visualization and analysis of device data is a core component to IoT solutions. Using the Keen IO plugin for Reekoh means it only takes minutes to configure your integration.

Reekoh’s approach gives developers a powerful IoTbackend platform that can make working with large numbers of cross-vendor devices, protocols and systems a seamless experience, and scalable from prototype to enterprise deployment.

Check out the integration guide to get started! Let us know what you think and happy hacking.

Justin Johnson

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