Hi, I'm Harlow. I head up the engineering team at Clearbit.

Personalization at Edge

fastly, rust, personalization

When companies with tiered pricing plans display the same pricing page to all their website visitors, there is a good chance they are leaving money on the table by not presenting the right pricing and packaging to their potential buyers.

Geo Caching

fastly, vcl, geo, personalization

Fastly has been making some great progress towards their Compute@Edge offering and a recent talk by Sean Leach on The future of Fastly’s edge showcased a geo caching project I worked on several years ago.

When I started working on the HotelTonight...


golang, http, grpc

I like to think of microservices as small single-responsibility applications that communicate via HTTP, TCP, or Message Queue.

When publishing an API for public consumption HTTP and JSON have emerged as the standard. However, my preference for...

War Chest

startup, funding, warchest

A warchest of funds is a reserve of capital that a startup can draw upon in times of need or opportunity. This is particularly important for startups because they often face a high degree of uncertainty and can benefit greatly from having a financial...

Kinesis Consumer

golang, kinesis, consumer

AWS has created an excellent Golang SDK for interacting with Kinesis streams. However, the library is lacking checkpointing functionality which allows consumers to restart and continue processing data where they left off. That’s why I created a Kinesis...

Golang gRPC Context

golang, grpc, context

When we need to pass metadata between services the gRPC metadata package can be used pass key-value pairs in the context.

import "google.golang.org/grpc/metadata"

We can add key-value pairs of metadata to the request context:

func main() {