François Best
banner
francoisbest.com
François Best
@francoisbest.com
Freelance web developer, open-sourcerer, speaker.

Building `nuqs`, a type-safe search params state manager for React frameworks:
🔗 https://nuqs.dev
🦋 @nuqs.dev

🎥 youtube.com/@47ng-dev
🟣 twitch.tv/fortysevenfx
🏠 francoisbest.com
TIL the GraphQL explorer was removed from the @github.com docs (I should have read the warning).

It's a shame, it was handy to quickly try out queries without fiddling with access tokens.

Anybody has a good macOS GraphQL client to recommend? Preferably native & OSS 🙏
November 23, 2025 at 5:25 AM
Let me know how it goes! (and thanks for the quote 🫶)

Pro tip: setting a default value makes the state non-nullable, so you can simplify this code block by:

- Removing the nullish coalescing on read
- Removing the ˋ|| null` on write (setting to the default value clears the key from the URL).
November 22, 2025 at 9:19 AM
The State of React survey is out!

🔗 survey.devographics.com/en-US/survey...

You know what to do 👀
November 19, 2025 at 9:33 PM
I would have been really mad if that had worked 😅
November 16, 2025 at 7:40 AM
It pains me we have to do custom URL serialisation when we want "flags" (key-only search params, without the equal sign). 😓
November 16, 2025 at 7:37 AM
The @nuqs.dev @shadcn.com registry now has an RSS feed 📡

✨ Get notified when we drop a new adapter, parser or utility
🐞 or when we push updates & bug fixes

nuqs.dev/registry

It now contains community adapters, to one-command install nuqs in:

⛩️ Waku
🐘 Inertia
🥇 One.js
📱 Expo Router (coming soon)
November 13, 2025 at 12:13 PM
Huge thanks to @sentry.io & @codecov.bsky.social for sponsoring me through thanks.dev 💖

The project is an interesting take on OSS funding:

1. 🔌 connect your repository
2. 📦 it finds the dependencies you use
3. 💵 you support their maintainers

Every step towards doing OSS full-time helps, thanks! 🫶
November 12, 2025 at 1:09 PM
OMG, TIL, thank you so much! 🙌
November 12, 2025 at 9:46 AM
I tried lazygit yesterday, getting slowly pilled on it, but this is the cherry on top: it would also have prevented this 🙌

Archive as the website got the HN hug of death:
web.archive.org/web/20251111...
November 12, 2025 at 8:42 AM
I approve this message.
November 8, 2025 at 10:04 PM
What is this travesty?! 😱

Intl.ListFormat('en-GB') doesn't use the Oxford comma, but en-US does 🙃

developer.mozilla.org/en-US/docs/W...
November 7, 2025 at 9:12 PM
First successful OIDC trusted publishing release for @nuqs.dev with semantic-release! 🙌

Bye bye NPM_TOKEN, you won't be missed. 👋
November 7, 2025 at 3:33 PM
TIL about SVG pathLength, thank you.

It might be handy to replicate this partial line effect with Recharts v3 (which removed support for accessing the internal state to compute the length directly).
November 3, 2025 at 1:06 PM
Of course it's @ssalbdivad.dev behind it, going to take a look, thanks!
October 31, 2025 at 3:26 PM
Post-conf weekend project: adding support for the @shadcn.com CLI in @nuqs.dev to install:

- parsers
- adapters
- little snippets that make more sense to vendor into your codebase & tweak as needed

First one is the utility I showed in my talk for type-safe linking (with typedRoutes) in @nextjs.org
October 26, 2025 at 6:02 PM
This week has been insane.

- 🥇 We won the @clerk.com hackathon
- 🗣️ I spoke at @nextjs.org conf about @nuqs.dev
- 🫶 I met a ton of wonderful folks IRL for the first time, along with old friends

Bye bye SF, it's been a blast 👋🛫
October 24, 2025 at 5:59 PM
Good morning SF 🌉🌅
October 21, 2025 at 2:42 PM
On my way to @nextjs.org conf 🛫

See you soon, SF! 🌁
October 20, 2025 at 5:27 AM
Thanks for the ping! 🫶

You could make a custom parser for doing the compression (on serialize) /decompression (on parse).
October 20, 2025 at 5:10 AM
Weekend project: digging into Recharts internals to replicate the dashed partial line graph in v3, as the internal state model has changed and we can’t do the same trick as before.
October 19, 2025 at 1:46 PM
And that's actually something I don't like about React: getting useless errors, like "some hydration error occured". Where, why, who knows? 🤷‍♂️

Some errors in nuqs have context injected, but for those we could use search params on the error link actually 👀
October 18, 2025 at 3:57 PM
@matthiasott.com will get that one
October 18, 2025 at 6:42 AM
OIDC trusted publishing is coming to semantic-release! 🙌

Going to test that today, really looking forward to saying farewell to long-lived NPM tokens. 👋
October 16, 2025 at 7:05 AM
Being consistent in making videos is hard when already juggling freelance work, OSS and family time.

But every little step is appreciated 🫶

youtube.com/@47ng-dev
October 15, 2025 at 10:56 AM
Fold occurs here
October 14, 2025 at 3:17 PM