1. Motivation

In my previous role, I struggled with slow Pod cold starts. Whenever a Pod spun up, incoming requests would pile up and wait until it was finally ready. Most of that delay came from running Envoy just to handle the gRPC-Web → gRPC translation layer. It felt like using a huge, complex system for a very small piece of functionality.

That experience pushed me to build Griffin — a lightweight proxy designed specifically to remove that bottleneck. Griffin is built on top of hyper.rs and focuses on doing one thing well: translating gRPC-Web requests into standard gRPC calls.

2. Result

The result is a proxy that’s incredibly small and fast. Griffin’s binary is only 1 MB, which is:

  • 100× smaller than a full Envoy build (~140 MB+)
  • 15× smaller than grpcwebproxy (~15.3 MB)
  • no garbage collector

Check out the proxy here: https://github.com/exajoy/griffin