How do we analyze our data @Eden AI?
Tags: api
Published: 2022-08-05 09:34:20

## Data collection and analysis

Being developers ourselves, we are implementing solutions for software developers. We thought it’d be nice to share our tools and what goes on behind the scenes with you

In Eden AI we value data a lot so we use a lot of tools to analyze every bit of it. In this article we present you with some of the tools we use and the intel we gather from it.

‍

### Metabase:

By connecting our database to Metabase, an open source analytic tool, we gained an insight on what information is more relevant about our users. It lets us directly ask questions as sql queries or via the user interface without writing any line of code.

Metabase offers a lot of features, we can save and display the queries results in a better format by using a dashboard so each member of the team can access and browse the database.

One of the most interesting features is the filters. Instead of creating duplicate dashboards, it allows you to create simple toggles to change a variable for all the cards on a dashboard. For example, if we wanted new weekly users, one filter on the query that report all the users would be enough.


In our case we have two dashboard collections. The first one includes some general information and background of our users (numbers of users, what programming language they use etc…), the second one has more complex queries, where we track the cost and consumption of the API extensively.

For an open source data analytic application, metabase gives a reasonable number of benefits in terms of user experience while being user friendly and extremely easy, and also quite flexible.

‍

### Sentry:

Sentry helps us collect and analyze errors in production. We have implemented it on our front application and backend server. When an exception occurs, it is saved and displayed on the platform. Each developer can access directly to details and traceback.

We can also monitor request performance and check if one request takes too much time.


‍

### Hotjar: 

We wanted to know how the visual interface of our app is used and if it needed to be readjust for a better User Experience.

To do so, we decided to integrate a web tracker to get a better insight of how users are interacting with our front-end (if they are struggling, if they are using features the right way, etc.), and we chose Hotjar.

Hotjar is one of the most popular and powerful tracking tools for your website: it’s simple to install and really easy to use. With Hotjar you can generate heatmaps of pages of your choice and also have access to the record of a user’s session.

In our case, we wanted to know if our customers were totally lost when landing on the homepage, so we focused on tracking the homepage first.

Heatmap of homepage (from red the most clicked parts to light blue the less clicked)


From here, we were glad to know that people were using the platform the right way, so we created heatmaps for all of our pages.

And it’s at this point that something interesting occurred: we started to receive notifications from Hotjar that some users were struggling. In fact, with Hotjar we could notice that people were “rageclicking” on a component of one of our feature pages. So we tested it from our side and we figured out that a part was not responding to clicks since our last update.

Therefore, thanks to this tool we were able to provide a hotfix as soon as it got detected by users without them having to message us.

In my opinion, having a tracking tool can be really cost-efficient and time-saving to improve your UI and most importantly your UX for your users’ comfort!

‍

### Cloudwatch: 

Since our infrastructure is on AWS. We use the CloudWatch service to gather and analyze information around it. It gives access to multiple metrics that are extremely useful. Some of what we use are:

Number of requests and Target Response Time: to track backend instances with latency issues
CPU and Disk utilization: for serves autoscaling as well as determining if the right type of instance is being used.
Network IN/Out: since there is a lot of data being processed through Eden AI we want to know how the network is performing.

‍

### Checklyhq:

Checklyhq is an active monitoring tool. It’s a very simple tool that we use to check periodically that our API responds well. Each check is saved and the data is available on our status page.  


‍

Those five solutions are what we are using at the moment. This article will be updated if we think something new is worth mentioning. I would be thrilled to discuss it if it is a subject that you are interested in, or if you simply want to give me any feedback. You can email me samy@edenai.co or directly book a call with me.