Blog

Building A Better Web With Track:js

Trackjs

In this guest post, co-founder of Track:js Todd H Gardner discusses his experience with transitioning more and more of his company over to DigitalOcean. In case you haven't heard, Track:js is an awesome service for tracking and fixing client-side JavaScript errors.

From The Creator

We're bootstrapping Track:js, so we're perpetually short on time and money. We initially started using DigitalOcean for its price, but have stayed for nearly a year now because it works so well. Setting up Droplets is super easy and we have all the control we need to automate them.

Their systems are also incredibly fast and reliable, handling everything we've thrown at them. We hit #1 on HackerNews and saw 25,000 unique users hit our DO box and performance was stellar: less than 1s response on average. We host our public-facing sites on DigitalOcean using a combination of static files and WordPress. Deployment is automated with git hooks, which were straightforward to setup.

DigitalOcean has been so great for us that we're looking to build out our usage capture components on a cluster of Droplets. We're very optimistic about this – it could save us a ton in monthly transactional costs and give us even more control.

More than the Error

The error is the last in a long series of events. What happened before, what did the user do, and how did we get into this state? We built a custom event engine to track what the user, the network, and your application were doing leading up to the error. We call it the Telemetry Timeline – it's kinda like a BlackBox Recorder for your web app.

Realtime Analytics

There is a lot of noise out there. A lot of errors are beyond your control. Our Analytics Dashboard helps you focus on the biggest impact. See the browsers, pages, or customers that are having the hardest time. Measure your app over time and see how your error rate changes.

Putting Service in SaaS

We're here to help you build a better app. My team and I are always working with customers to integrate, improve, and fix issues of all kinds. We now receive over 1,500 JavaScript errors per minute. To ensure that we can keep up with that load and continue to scale, we leverage DigitalOcean's API to quickly spin up a dozen Droplets and hammer our systems with errors for performance testing. We build out an "error drone" template, which rapid fires fake requests at us, then create a swarm of them on demand. As a DigitalOcean user, you pay hourly for the test and tear them down. No other service is offering that kind of speed and simplicity.