Engineering at Highlight

I worked as a software engineer for Highlight, an early-stage startup, throughout the first half of 2021. During this time, I designed, built, and shipped multiple full-stack core features for the platform, adding functionality such as session activity tracking, error tracking, a dashboard, and more.

Highlight is currently still in closed Beta

Contents

Background

Highlight is an analytics platform aiming to provide clients with insights into user interactions and errors on their application. It is founded by Jay, a friend with great experience in the startup scene, who secured funding to pursue this full time.

At the time I joined, Highlight was in private beta, having been entirely built by Jay with the help of other engineers who were working on this part-time. There were also a couple customers trying out the platform. We needed more features for the platform to be complete, and I would help build them.

From the Highlight website:

At Highlight, we're building a platform for debugging apps with extremely high precision, with the goal of helping teams better understand how their app behaves.

Process

The development process involves discussing high-level feature concepts during the sprint planning phase on Linear, then fleshing out low-level details in further meetings with Jay. After implementing the feature, code reviews are conducted to ensure that the code is scalable and follows good coding practices. Later on, Highlight would onboard one more engineer and a part-time designer, leading to a more structured development process involving UI/UX research and better code standards.

Features

I shipped a lot of features at Highlight, here are some of my favourites.

Session Activity Indicators
Highlight allows teams to view how users use their apps through a player. Teams can replay a user's session and view their interactions and logs. However, sessions can get long if a user leaves their browser open while idling. I built a framework that segments a user session into active and inactive periods, automatically skipping through inactive periods when replaying.

The Highlight session player, a purple horizontal bar indicating active periods and the grey sections indicating inactive periods

Error Tracking
One of the main benefits of having user sessions is easily reproduceable errors. Teams can replay the session that triggered a specific error. I shipped the error feed along with individual error pages, frequency graphs and other features in this space.

An error feed with search filters on the right, and saved filters on the left

Conclusion

I had lots of fun working with this technology stack and really got to experience working with Go and GraphQL. The error handling in a Go backend especially stood out to me, and GraphQL's ease of use was enjoyable. In addition to that, I was able to further develop my React skills and learn from knowleageable individuals about startups, development, and design.