Introducing K2: Fastest Way to Develop Dashboards in React

Ahmed Waleed
Emumba
Published in
3 min readAug 24, 2020

--

K2 sample dashboard

When you work on something for years, you start producing better quality in lesser time. Quality improves because you are more aware of the potential pitfalls and incorporate valuable feedback from stakeholders. Agility improves because you have solved these problems time and time again and have the answers to optimize your work. And when you have been doing something for even longer, you start automating around the patterns to reduce the effort involved.

Emumba has worked with multiple customers over the years to develop custom dashboards. We developed a tool, K2, for ourselves to improve the delivery of our our solutions. It incorporates years of learning, experience and valuable feedback from our customers.

Let’s cut to the chase

K2 is a framework of high level react components which allows you to build quality dashboards swiftly.

Does K2 sounds cool and familiar?

It’s because K2 is inspired from K2 the peak, the highest mountain in Pakistan and second in the world.

K2, the peak

Why K2 when we have other charting tools like Highcharts, amCharts, Recharts, Victory, and countless others available in market?

Dashboards are more than a set of charts or visualizations and there is a lot of effort that goes into the making of a good, informative and usable dashboard.

K2 is a tool for building e2e dashboards which means we offer out-of-the-box and ready-to-use components for instance essential UI components, layout solutions such as grids, painless integrations with backend APIs, a coherent theming interface, and of course, charts and custom visualizations.

How does K2 compares with tools like Grafana?

K2 helps you deliver faster where you can’t use such no-code tools and have to develop custom applications. If your use case is served by tools like Grafana, please use them. There is absolutely no reason to write code when you don't have to.

Is K2 built from scratch?

No and there is no reason to do so either. We love the famous opensource libraries so we build upon the stable core of the libraries such as React, TypeScript, styled-components, react-vis, and d3.

Does K2 support ${your-usecase}? How extendable is it? Can it work with ${xyz-tool}?

We support common use cases today out of the box, however if there is something not supported out of box you can always leverage your favorite third party libraries and integrate it in the dashboard built with K2 just like any other React component. On the core, K2 is a set of opinionated React components to make your life easier. This also gives you flexibility to directly work with the other libraries/packages you love or need.

Does it support TypeScript?

Absolutely, in fact, K2 itself is written in TypeScript so we love it as well.

Show me the code and the candy

  1. Checkout demos of different individual components and the code snippets used to create them.
  2. Check out code of a dashboard built with K2 covering wide set of use cases like integration with other libraries.

If you dig philosophy, here is ours

  1. Visualizations and charts should be beautiful by default. You shouldn't have to explore documentation and configs for this. Who doesn’t like beautiful?
  2. Dashboards are more than a set of visualizations and there is a lot of effort that goes into the making of a good, usable, and informative dashboard.
  3. No-brainer things shouldn’t need extra effort time and time again.
  4. Simplicity over “customization you don't need”.
  5. We don't like solving the same problems over and over again.
  6. We want to deliver faster to our customers.
  7. We want to let designers worry about making it look pretty and focus on making information more meaningful and programming business logic.

That’s one hell of a selling pitch. What’s next?

Checkout our pricing plans and talk to us, we are excited to talk about K2 anytime…

--

--

A bit of engineer, philosopher, and believer… Rest is being figured out :)