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 against standalone Valkey 8.

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 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 Node.js core, 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