Open Source
Projects I Maintain

Open Source — Projects I Maintain

I build and maintain Valkey-native packages for the Node.js ecosystem — the client-stack building blocks that let Node.js applications talk to Valkey without a single Redis-branded dependency in the tree.

Why a Valkey-Native Ecosystem?

Valkey is the Linux Foundation fork of Redis, created after Redis changed its license in 2024. Its wire protocol (RESP) and Pub/Sub commands are byte-for-byte identical to Redis — but the Node.js ecosystem around it was not. Core client infrastructure (parsers, error models, Socket.IO adapters) still carried Redis naming, Redis dependencies, and Redis-controlled publishing.

A Valkey ecosystem should not have its core infrastructure owned by Redis-branded packages it doesn't control. So I ported the battle-tested implementations — keeping every proven code path intact — and re-targeted them for Valkey.

The Stack

The packages form a layered client stack. I created and maintain the two foundation layers solo; the Socket.IO scaling layer was built with the Stalwart Team for the Valkey Hackathon conducted by React Hyderabad.

Application code
  └── socket.io-valkey-adapter   ← cross-instance broadcast (Stalwart Team · Valkey Hackathon by React Hyderabad)
        └── Valkey client (iovalkey)
              └── valkey-parser   ← RESP wire-protocol decoder (solo project)
                    └── valkey-errors   ← shared failure identity (solo project)

valkey-errors

v1.0.1 · MIT · Solo project

A shared error model for the whole stack — five classes, zero dependencies, 59 lines. Makes instanceof the failure-handling contract across every layer.

npm · GitHub · Deep dive →

valkey-parser

v1.0.0 · MIT · Solo project

The RESP wire-protocol decoder — raw TCP bytes in, JavaScript values out. Zero-copy fast path, adaptive buffer pool, built for millions of replies per second.

npm · GitHub · Deep dive →

socket.io-valkey-adapter

v0.1.1 · MIT · Stalwart Team · Valkey Hackathon by React Hyderabad

The horizontal-scaling layer for Socket.IO on Valkey Pub/Sub. 137 tests passing, certified against standalone Valkey 8 and a real 6-node cluster.

npm · GitHub · Deep dive →

The Porting Philosophy

Every package follows the same discipline:

  1. Don't rewrite what's proven. The upstream implementations (redis-errors, node-redis-parser, @socket.io/redis-adapter) carry years of production hardening. A file-by-file diff against upstream confirms zero functional differences — every condition, loop, and wire format is unchanged.
  2. Remove all Redis branding. A Valkey ecosystem package should not depend on or advertise Redis-named modules. RedisError becomes ValkeyError; redis-errors becomes valkey-errors.
  3. Test against real Valkey. The adapter's full suite runs against standalone Valkey 8 and a real 6-node Valkey Cluster (3 masters, 3 replicas) in CI on every push.

The result: teams migrating off Redis keep the exact architecture they trust, with a clean, Redis-free dependency tree and zero license risk.

Contributions to Major Libraries

I also contribute upstream — merged pull requests in Axios, React Redux, Nodemailer, Tailwind CSS, and Valkey's official Node.js client (iovalkey). See the contributions page for the full stories and PRs.

Read the Deep-Dives

Start at the bottom of the stack and work up:

  1. valkey-errors — a shared error model for Valkey clients
  2. valkey-parser — the wire-protocol decoder
  3. socket.io-valkey-adapter — horizontal scaling for Socket.IO