Back to selected work

Monitoring & analytics platform

We fixed dashboards that took minutes to query tens of millions of data points. They ended up loading in about one second while providing almost real-time data.

Dextrac, the client, is one of the very first Chainlink node operators. We initially supported the frontend, then worked on its indexing and data-processing pipelines as their needs grew.

Year
2023-2024
Measured result
Page load times fell from minutes to about one second while keeping the data almost real-time.
Prism at a conference

Prism at a conference

Playback unavailable? Watch on YouTube

The data problem

Our work with Dextrac started on the frontend. As their needs grew, we moved into the indexing and data-processing pipelines behind the product.

The platform processed more than 10 million transactions a month, for a total of hundreds of millions of transactions. Infrastructure providers used it to monitor downtime, lag, and historical performance.

As views grew more complex, queries scanned tens of millions of data points and took minutes to load.

The conference workaround

The problem became urgent before Chainlink SmartCon 2023. We decided to cache resource-intensive views in Redis with long TTLs. Each conference morning, we manually opened common views to warm the cache. It protected the demo, but it was patchwork.

The durable fix

We built background jobs that precomputed daily reports for each metric type. A 90-day successful-transaction query for one provider then read tens or hundreds of daily rows instead of millions.

We added indexes on classification and filter properties. Current-day reports refreshed every few minutes.

The result

Page loads fell to 1-2 seconds, and reports stayed at most five minutes behind live data. This freshness was sufficient for analytical views.

What followed

Our work with Dextrac continued beyond the analytics performance fix. We later implemented a payment gateway and role-based access control for paid-tier users who needed access to live monitoring data.

What are you trying to ship?

Tell us what you're building, where it stands, and what needs to happen next. We'll tell you if we're the right team to help.

Tell us about your project