Important
If you or your company are using any of my projects or like what I'm doing, please consider backing me up. I appreciate it! π Your support will help me allocate more time to the open source work.
- Become a sponsor
- Buy me a coffee βοΈ
- or send a Solana airdrop π π, SOL:
LJJwteDZjL8u2Uhh5giwVpRa5KcHLkDogYAZntYbMsD
I maintain and contribute to OSS software, below is a list of my latest projects and writings. My current focus is on developing CRDT and OT collaborative editing solutions, local-first software, and Web3 apps.
- UI and React
react-useandlibreactβ lots of React hooks and utility components.nano-cssandnano-themeβ the fastest and smallest CSS-in-JS library with lots of plugins (successor offreestyler).react-embedβ embed social widgets in your React app.use-mediaβ CSS media queries through React hook.react-simple-playerβ a minimalistic audio player React component.clickable-jsonβ JSON viewer and editor with hoverable and clickable objects.flexible-inputβ React<input>and<textarea>components which stretch to fit the content.awesome-styleguidesβ index of style guides and design systems.code-colorsandcode-colors-reactβ code syntax highlighting libraries.use-tβ a small internationalization library for React.iconistaβ a React component for rendering open-source SVG icons.react-router-liteβ a lightweight React router.
- Filesystem
- Collaborative editing
json-joy, a JSON CRDT implementation and collection of JSON awesomeness.json-joy/json-crdtβ the fastest list CRDT implementation in JavaScript.json-joy/json-patchβ very fast JSON Patch (and JSON Pointer) implementation in JavaScript.json-joy/json-expressionβ JSON Expression implementation.json-joy/json-typeβ the fastest JSON schema validation implementation in JavaScript.
collaborative-editorβ General JSON CRDTstrnode sychnonization with any editor.collaborative-inputβ React<input>and<textarea>components with JSON CRDT real-time collaboration support.collaborative-aceβ JSON CRDT real-time collaboration bindings for Ace editor.collaborative-monacoβ JSON CRDT real-time collaboration bindings for the Monaco editor.collaborative-codemirrorβ JSON CRDT real-time collaboration bindings for the CodeMirror editor.
- Data structures, algorithms, and utilities
git-czβfeat: πΈ emoji-fied Git commitssonic-forestβ very fast AVL, Splay, and Radix tree implementations in JavaScript.thingiesβ a collection of useful TypeScript utilities.rx-useβ useful RxJS observables for web apps.tree-dumpβ utility to easily print tree-like structures.cross-ciβ env var normalization across CI/CD services.web4π soon β CRDT-based content-addressable local-first data repository.
- Parsing
json-packβ the fastest CBOR, MessagePack, RESP3, UBJSON, JSON, and Bencode codecs in plain JavaScript.jit-routerβ the fastest HTTP router in JavaScript.md-mdastβ extremely small and fast Markdown to MDAST parser.mdast-flatβ MDAST format to flat-MDAST converter.mqtt-codecπ§ͺπ₯ experimental β the fastest MQTT packet parser for Node.js.jit-parserπ§ͺπ₯ experimental β PoC of LL recursive backtracking descent JIT parser generator.
- Server & Networking
ass-jsπ§ͺπ₯ experimental β X86_64 assembler compiler in JavaScript.reactive-rcpπ§ͺπ₯ experimental β a very fast and type safe JSON Reactive RPC server and client.redis-joyπ§ͺπ₯ experimental β a very fast Redis 7+ RESP3 standalone and cluster client.node-multicoreπ§ͺπ₯ experimental β PoC of a very fast thread pool for Node.js.
- Specifications
specJSON CRDT β Full JSON implementation as a CRDT (Conflict-free Replicated Datatype).specJSON CRDT Patch β The patch format for JSON CRDT.specJSON Expression β s-expression specification for JSON.specJSON Reactive RPC β JSON Reactive RPC protocol (RPC with server push) implementation.encodingCompact JSON β A compact Tuple-Type-Value (TTV) encoding for JSON.
- Blog posts
- My random notes
noteProgrammingnoteJavaScriptnoteCollaborative editingnoteFunny GitHub profiles
Your support means a lot to me and will help me to continue working on my projects!
Support
- Become a sponsor
- Buy me a coffee βοΈ
- or send a Solana airdrop π π, SOL:
LJJwteDZjL8u2Uhh5giwVpRa5KcHLkDogYAZntYbMsD







