frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

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

https://github.com/vcms-io/solidis
71•jayl-e-e•6mo ago
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

badmonster•6mo ago
What makes Solidis more performant than other Redis clients like ioredis or redis
jayl-e-e•6mo ago
Solidis isn’t necessarily aiming to outperform ioredis or node-redis in every way — its primary goal is to reduce bundle size rather than maximize raw performance. That said, it does offer some performance advantages in practice. Solidis is designed to handle pipelined commands more efficiently within a single event loop iteration and parses responses in a more event-loop-friendly manner.

As a result, in most real-world scenarios, Solidis tends to be about 2–3x faster than ioredis (even with auto-pipelining enabled). Compared to node-redis, the performance is generally on par or slightly behind.

One caveat: if the payloads being parsed are very large, Solidis can experience increased latency due to its parser being more CPU-intensive, which may introduce delays compared to other stacks.

swaptr•6mo ago
Looks great! I tried plugging it into my setup that uses ioredis, but it doesn't seem to support loading the URI directly?
jayl-e-e•6mo ago
Thank you very much. As you mentioned, connecting via URI is not currently supported, but it’s not difficult to implement, so I will consider adding it to the specification.
jayl-e-e•6mo ago
Improvement deployed!
swaptr•6mo ago
Thanks, really appreciate the quick resolution. Looks like a really cool project and the goals seem to be well defined. All the best.
jayl-e-e•6mo ago
It's my pleasure! :)
jayl-e-e•6mo ago
swaptr, thank you for your contribution to Solidis! May I know how to contact you?

Show HN: Awesome J2ME

https://github.com/hstsethi/awesome-j2me
20•catstor•1h ago•8 comments

Show HN: Wasda – Experience transformer attention as music

https://github.com/farukalpay/wasda
2•kinders•2h ago•0 comments

Show HN: Lamina – A compiler backend that is not LLVM or Cranelift

https://github.com/SkuldNorniern/lamina
3•skuldnorniern•2h ago•0 comments

Show HN: Interactive research papers (a big step up from ArXiv HTML)

https://sciencestack.ai
5•cjlooi•2h ago•4 comments

Show HN: F32 – An Extremely Small ESP32 Board

https://github.com/PegorK/f32
44•pegor•16h ago•4 comments

Show HN: Long Courrier – A custom web player for a 1h Barber Beats mix

https://monosky.mateo-siam.com/
2•Mateleo•3h ago•0 comments

Show HN: I made a down detector for down detector

https://downdetectorsdowndetector.com
549•gusowen•1d ago•161 comments

Show HN: OctoDNS, Tools for managing DNS across multiple providers

https://octodns.readthedocs.io/en/latest/
23•gardnr•15h ago•1 comments

Show HN: CTON: JSON-compatible, token-efficient text format for LLM prompts

https://github.com/davidesantangelo/cton
7•daviducolo•4h ago•1 comments

Show HN: RowboatX – open-source Claude Code for everyday automations

https://github.com/rowboatlabs/rowboat
123•segmenta•1d ago•40 comments

Show HN: DNS Benchmark Tool – Compare and monitor resolvers

https://github.com/frankovo/dns-benchmark-tool
48•ovo101•19h ago•27 comments

Show HN: I built a synth for my daughter

https://bitsnpieces.dev/posts/a-synth-for-my-daughter/
1264•random_moonwalk•1w ago•209 comments

Show HN: Browser-based interactive 3D Three-Body problem simulator

https://trisolarchaos.com/?pr=O_8(0.6)&n=3&s=5.0&so=0.00&im=rk4&dt=1.00e-4&rt=1.0e-6&at=1.0e-8&bs...
236•jgchaos•1d ago•110 comments

Show HN: Reproducible Dotfiles with Nix Flakes

https://github.com/momeemt/config
2•momeemt•6h ago•0 comments

Show HN: I built a Chrome Extension to inject custom UTM parameters into URLs

https://chromewebstore.google.com/detail/utm-bandit/hgkdaigafpdboigkdogdffiedbbbajep
2•RyanDavid•2h ago•0 comments

Show HN: Guts – convert Golang types to TypeScript

https://github.com/coder/guts
99•emyrk•1d ago•30 comments

Show HN: Vibe Prolog

https://github.com/nlothian/Vibe-Prolog
26•nl•21h ago•4 comments

Show HN: Marimo VS Code extension – Python notebooks built on LSP and uv

https://github.com/marimo-team/marimo-lsp
54•manzt•18h ago•4 comments

Show HN: A subtly obvious e-paper room air monitor

https://www.nicolin-dora.ch/blog/en-epaper-room-air-monitor-part-1/
64•nomarv•2d ago•27 comments

Show HN: Parqeye – A CLI tool to visualize and inspect Parquet files

https://github.com/kaushiksrini/parqeye
159•kaushiksrini•2d ago•35 comments

Show HN: ESPectre – Motion detection based on Wi-Fi spectre analysis

https://github.com/francescopace/espectre
207•francescopace•2d ago•50 comments

Show HN: Continuous Claude – run Claude Code in a loop

https://github.com/AnandChowdhary/continuous-claude
163•anandchowdhary•4d ago•59 comments

Show HN: Reversing a Cinema Camera's Peripherals Port

https://3nt3.de/blog/reversing-fs7-comms
47•3nt3•1w ago•2 comments

Show HN: PrinceJS – 19,200 req/s Bun framework in 2.8 kB (built by a 13yo)

https://princejs.vercel.app
150•lilprince1218•2d ago•68 comments

Show HN: Tokenflood – simulate arbitrary loads on instruction-tuned LLMs

https://github.com/twerkmeister/tokenflood
21•twerkmeister•1w ago•0 comments

Show HN: PgEdge Control Plane, a declarative API for multi-region Postgres mgmt

https://github.com/pgEdge/control-plane
4•pgedge_postgres•15h ago•0 comments

Show HN: ChunkBack – A Fake LLM API server for testing apps without paying

https://github.com/4shub/chunkback
5•forthwall•20h ago•0 comments

Show HN: Unflip – a puzzle game about XOR patterns of squares

https://unflipgame.com/
180•bogdanoff_2•1w ago•53 comments

Show HN: Kalendis – Scheduling API (keep your UI, we handle timezones/DST)

https://kalendis.dev
18•dcabal25mh•2d ago•8 comments

Show HN: Building WebSocket in Apache Iggy with Io_uring and Completion Based IO

https://iggy.apache.org/blogs/2025/11/17/websocket-io-uring/
29•spetz•2d ago•6 comments