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-use
andlibreact
β lots of React hooks and utility components.nano-css
andnano-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-colors
andcode-colors-react
β code syntax highlighting libraries.use-t
β a small internationalization library for React.iconista
β 100,000 free SVG icons, available on CDN and packaged as a React component.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-type
β the fastest JSON schema validation implementation in JavaScript.
collaborative-editor
β General JSON CRDTstr
node 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.json-pointer
β JSON Pointer (RFC 6901) implementation with JIT compilation.json-expression
β JSON Expression implementation with JIT compilation.
- Data structures, algorithms, and utilities
git-cz
βfeat: πΈ emoji-fied Git commits
sonic-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 PEG recursive descent backtracking 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
spec
JSON CRDT β Full JSON implementation as a CRDT (Conflict-free Replicated Datatype).spec
JSON CRDT Patch β The patch format for JSON CRDT.spec
JSON Expression β s-expression specification for JSON.spec
JSON Reactive RPC β JSON Reactive RPC protocol (RPC with server push) implementation.encoding
Compact JSON β A compact Tuple-Type-Value (TTV) encoding for JSON.
- Blog posts
- My random notes
note
Programmingnote
JavaScriptnote
Collaborative editingnote
Funny 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