
Hawk’s most important feature was providing a visual recording of what the user actually saw on their screen. On top of that, disk usage is throttled too.

When you exceed the limit, the server slows to a crawl. This approach was simple and familiar, and allowed us to easily develop Hawk locally and deploy it in production.įor our production server, we picked AWS Lightsail for its low price, but one of the downsides is that (for the server size we selected), you’re expected to use an average of no more than 10% CPU. In our first iteration, our “reporter” script (the JavaScript file that Hawk users included on their websites to facilitate reporting data to Hawk) sent data to REST endpoints on a NodeJS server, which then stored the data in MongoDB. We went through several server paradigms to handle it. But as Hawk ran day by day during development, the pile of data mounted higher and higher. We didn’t have the budget to spin up huge, inefficient servers.

One major technical difficulty with Hawk, from the beginning, was data volume. So we started developing Hawk: our answer to the problem. We wanted a solution that would do what we needed, without constraining us in ways we weren’t committed to. Most locked you into a funnel paradigm, or required you to interpret complex heatmaps. This is a problem for developers, who need to know those things.Īt Cyber Care, we became dissatisfied with the available solutions to that problem. And then they vanish forever when the user closes the browser window. Choices they make, errors and UX bugs are all locked away on their computer.

MJML IMAGE CODE
Unless communicated explicitly to a server, what they do with the code is unknown. When a user loads a web page, all the associated code runs on their computer.
