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

Startups can be expensive; their costs can dramatically exceed what founders typically anticipate. The sale of convertible notes, options, and loans are often a necessary means for financing operations.

Investors–individuals, corporations,...

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() {