Period: March 2023 - June 2023
Role: Software Engineer
Tech stack: Python, Redis
Links:
upstash-redis is a connectionless, HTTP-based Redis client for Python, designed to be used in serverless and serverful environments such as:
I initially authored upstash-redis and was responsible for all of the early design decisions. I also advised on specific issues after handing off the project.
Building a Redis client came with various technical and non-technical challenges. The project was, in a way, a greenfield one. Almost all of the things, including the planning, the roadmap, and even some technical aspects changed while moving forward.
Some of the trouble-causing aspects were:
Union
returns, even with generics, was a hard thing to accomplish. This might depend on the structure and methodology used, but having to deal with lots of false positives was very problematic.Prototyping and launching the SDK quickly came in response to the increasing usage and development of AI-based applications, helping the Python developers adopt Redis in synergy with their existing and future stack.
Aiming for fast iterations and rapid delivery, while also maintaining high quality, I learned from the already established projects and optimized the product for developer experience, making its usage easily follow best practices.