Open Source
This page lists some of the open source packages and repositories I have published or contribute to.
Most of them are published under my company 47ng .
Frontend
My tech stack of choice for server-rendered React apps is Next.js
and TailwindCSS .
For client-heavy apps, I like to use Chakra-UI to
quickly build beautiful and accessible interfaces.
Because of its CSS-in-JS approach, it’s a bit awkward to use with the
new Next.js app router and server components, so I’m now letting Tailwind deal
with styling. ChatGPT makes a perfect companion for refactoring one into the other
anyway. 😄
NPM updated at: 2026-04-10T07:29:47.212Z GitHub updated at: 2026-04-10T07:29:46.228Z Type-safe search params state manager for React frameworks - Like useState, but stored in the URL query string.
$ pnpm add next-usequerystate $ yarn add next-usequerystate
$ npm install next-usequerystate
7,587 11 Mar 6,739 12 Mar 6,843 13 Mar 2,064 14 Mar 1,673 15 Mar 7,498 16 Mar 7,958 17 Mar 8,821 18 Mar 7,794 19 Mar 6,208 20 Mar 1,675 21 Mar 1,132 22 Mar 6,616 23 Mar 6,683 24 Mar 6,510 25 Mar 6,933 26 Mar 8,211 27 Mar 2,026 28 Mar 1,518 29 Mar 9,838 30 Mar 8,698 31 Mar 8,088 01 Apr 7,742 02 Apr 5,014 03 Apr 1,676 04 Apr 2,113 05 Apr 7,528 06 Apr 10,697 07 Apr 9,332 08 Apr 0 09 Apr 175,215 Last 30 days
GitHub updated at: 2026-04-10T07:29:47.449Z Type-safe search params state manager for React frameworks - Like useState, but stored in the URL query string.
$ pnpm add nuqs $ yarn add nuqs
$ npm install nuqs
NPM package data is currently unavailable.
Backend
I like to use Fastify to build backend services in Node.js.
What I like about it:
More opinionated and structured than Express.js
Damn fast
Easy to write plugins
Good defaults out of the box
GitHub updated at: 2026-04-10T07:29:47.451Z Opinionated Node.js microservices framework built on Fastify ⚡️
$ pnpm add fastify-micro $ yarn add fastify-micro
$ npm install fastify-micro
NPM package data is currently unavailable.
GitHub updated at: 2026-04-10T07:29:47.268Z Run cron jobs alongside your Fastify server 👷
$ pnpm add fastify-cron $ yarn add fastify-cron
$ npm install fastify-cron
NPM package data is currently unavailable.
GitHub Action to deploy to Clever Cloud
Security & Encryption
GitHub updated at: 2026-04-10T07:29:47.629Z Secure cryptographic key storage in the browser and Node.js
$ pnpm add session-keystore $ yarn add session-keystore
$ npm install session-keystore
NPM package data is currently unavailable.
I wrote an article about how I came to build session-keystore:
13 December 2019 • 4 min read e2ee security End-to-end encrypted applications use cryptographic keys that don't leave the client, so how do we store them securely in the browser ?
GitHub updated at: 2026-04-10T07:29:47.430Z Serialized AES-GCM 256 encryption, decryption and key management in the browser & Node.js
$ pnpm add @47ng/cloak $ yarn add @47ng/cloak
$ npm install @47ng/cloak
NPM package data is currently unavailable.
SDK to build end-to-end encrypted web applications
Environment Variables
The Twelve Factor App model uses environment
variables extensively for configuration and passing runtime data to a web app.
However, there are things to look out for when working with environment
variables, so I built a few packages to make their management easier and more
secure:
GitHub updated at: 2026-04-10T07:29:47.427Z Redact values of critical environment variables in a string
$ pnpm add redact-env $ yarn add redact-env
$ npm install redact-env
NPM package data is currently unavailable.
GitHub updated at: 2026-04-10T07:29:47.329Z Define aliases for environment variables and bind them at runtime
$ pnpm add env-alias $ yarn add env-alias
$ npm install env-alias
NPM package data is currently unavailable.
GitHub updated at: 2026-04-10T07:29:47.448Z Check that required environment variables are set for your app
$ pnpm add @47ng/check-env $ yarn add @47ng/check-env
$ npm install @47ng/check-env
NPM package data is currently unavailable.
Miscellaneous
GitHub updated at: 2026-04-10T07:29:47.589Z Universal conversion of Uint8Array from/into UTF-8, base64url and hex in the browser and Node.js
$ pnpm add @47ng/codec $ yarn add @47ng/codec
$ npm install @47ng/codec
NPM package data is currently unavailable.
My longest-running open-source project is the Arduino MIDI Library. I learned programming in C++ in 2008 with this project and discovered my passion for open-source software.
The source code for this website! Made with Next.js , TailwindCSS and MDX .
🤝 Hire me!
I build web apps for startups, businesses and public institutions as a freelance web developer and designer. Let's discuss your needs and see how I can help.
Contact meEdit this page on GitHub