Show HN: Solidis – Tiny TS Redis client, no deps, for serverless

37 jayl-e-e 2 5/16/2025, 9:20:15 PM github.com ↗
Hey everyone!

Over the past two years I threw myself back into full-time engineering with a simple goal: write code that gives back to the community. After a lot of late-night FOMO (“AI will do it all for us, right?”) and some painful production incidents, I finally turned my weekend project into an open-source library.

[ What is Solidis? ]

- Super-light (< 30 KB) RESP2/RESP3 client with zero runtime deps and first-class ESM/CJS support.

- Fully tree-shakable – import only the commands you need.

- Written with SOLID principles & full TypeScript typings for every command.

- Designed for cold-start sensitive serverless platforms (small bundle + tiny memory footprint).

[ Why I built it ]

1. node-redis & ioredis pain

- ESM is still an after-thought.

- Hidden deadlocks on RST, vague error surfaces.

- Everything gets bundled, even commands you’ll never call.

2. I refuse to add a dependency I don’t fully understand – I literally read candidates 10× before `npm i`.

3. Serverless bills love to remind me that every KB and millisecond matters.

[ Key features ]

- Protocols: RESP2 and RESP3 (auto-negotiation)

- Bundle size: `<30 KB` (core) / `<105 KB` (full)

- Dependencies: 0

- Extensibility: Drop-in command plugins, custom transactions

- Reliability: Auto-reconnect, per-command timeouts, type-checked replies

[ Roadmap / Help wanted ]

- Benchmarks against `node-redis` & `ioredis` (PRs welcome!)

- More first-class Valkey love

- Fuzz-testing the parser

- Docs site – the README came first; I’d love help polishing full docs

This might be my last big OSS push for a while, so stars, issues, and PRs mean the world.

If Solidis saves you some cold-start time or just scratches a TypeScript itch, let me know!

Repo: https://github.com/vcms-io/solidis

License: MIT

Thanks for reading, and happy hacking!

(Feel free to AMA in the comments – I’m around.)

Comments (2)

swaptr · 2h ago
Looks great! I tried plugging it into my setup that uses ioredis, but it doesn't seem to support loading the URI directly?
badmonster · 6h ago
What makes Solidis more performant than other Redis clients like ioredis or redis