TypeScript exhaustiveness checking to ensure that all permutations are handled

In this blog post, I will explain what discriminated unions are and why they are so powerful. In addition, I will share a real world use case that I encountered: setting up a request/response infrastructure around websockets. | Continue reading


@bionic.fullstory.com | 3 years ago

App Frameworks: A Story of Transparency and Time Travel

The App Frameworks team was created to help frontend engineering scale at FullStory. We challenged ourselves to become a more transparent and data-driven team. Here's how we did it. | Continue reading


@bionic.fullstory.com | 3 years ago

Writing a Filebeat Plugin

How we built a custom Filebeat plugin to process hundreds of thousands of log lines per second. | Continue reading


@bionic.fullstory.com | 3 years ago

GRPCui: Don’t gRPC Without It

While command-line tools like gRPCurl are extremely useful, a graphical user interface can often reduce friction and be more intuitive than a command-line interface. So that was clearly the next step, hence we built gRPCui (pronounced /dʒi ɑr pi kui/, like “jee are pee cooey”). | Continue reading


@bionic.fullstory.com | 3 years ago

Rust at FullStory, Part 2: A Look Inside Our Mobile SDK

At FullStory we’re using Rust for core parts of our cross-platform mobile framework. In the second part of our 2-part series we discuss how we use Rust to power our framework. | Continue reading


@bionic.fullstory.com | 3 years ago

Show HN: Private-by-Default Mobile Analytics from FullStory

FullStory's Director of Mobile Engineering introduces our new privacy-aware product for mobile apps. Dive deep into the product technically and learn more about our stance on privacy. | Continue reading


@bionic.fullstory.com | 4 years ago

FullStory Tamed GitHub Codeowners with Bots

GitHub codeowners falls over with large enough teams, but bots can be used to smooth over the rough patches. | Continue reading


@bionic.fullstory.com | 4 years ago

Is Go Duck-Typed?

Dive into duck-typing and how types are managed by the go language. | Continue reading


@bionic.fullstory.com | 4 years ago

Be Using Errgroup.WithContext() in Your Golang Server Handlers

How you can shave a few more precious milliseconds off end user latency by parallelizing your Go server handlers. Have you ever written a Go server handler that could be parallelized, but you left it as a linear sequence of operations? Parallelizing your Go server handlers can pr … | Continue reading


@bionic.fullstory.com | 4 years ago