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/francoisbest
🏠 francoisbest.com
TIL @vscode.dev has a "brain workout" feature: disable AI by increments of 5 minutes.
January 11, 2026 at 11:27 PM
I cancelled my Claude Code subscription (after a month).

Part of it is the (now reverted) drama about Anthropic cutting access to OSS 3rd party apps (gray area here).

But the biggest reason is that it works too well, and I don't want to depend on a non-OSS, locking-in tool that much.

🧵
January 10, 2026 at 8:25 PM
For the longest time I tried to disable my CapsLock key on macOS (that I use as the Hyper key in @raycast.com), and there was a setting all along to do just that! 🤦‍♂️

No more accidental CapsLock activation. 🙌
January 10, 2026 at 7:40 PM
There is something oddly therapeutic about reading W3C specifications.

Or maybe I'm just weird like that.
January 10, 2026 at 4:31 PM
Getting to work on both of my careers: web dev 🤝 audio engineering. This is my happy place 😊

I've got so many ideas for this audio course, to make it truly useful beyond just the theory. Can't wait to show y'all.
January 9, 2026 at 11:08 PM
I feel like @nuqs.dev should be in the state management libraries or React sections (+5.5k stars in 2025).

cc @jherr.dev @rwieruch.bsky.social
January 7, 2026 at 4:52 PM
Here's a little loop to replicate the cascade of .env.local, .env.$NODE_ENV.local, .env etc that some environments use (eg: @nextjs.org), using this handy little utility from code @nodejs.org

Thanks @stefanjudis.com 🙌

🔗 gist.github.com/franky47/9ce...
January 6, 2026 at 6:48 PM
The @nuqs.dev types in TypeSlayer 😈

Happy new year! 🎆🎇
January 2, 2026 at 8:02 AM
I know two of the other ones 👀
January 1, 2026 at 6:04 PM
OMG thanks for the shout-out! 🥹🫶

Meeting you was definitely one of the best highlights of this year.

Happy new year, Dominik! 🥂
December 27, 2025 at 7:04 AM
I tried Claude Code this weekend to rewrite the @nuqs.dev e2e test suite from Cypress to Playwright.

LoC wise, this was a 80% 🤖 / 20% 👨‍💻
But prep was about 80% 🧠 / 20% 🤖

I prepared a few example tests, shared abstractions and metadata (deps, config) by hand, and left the grunt work to the bots.
December 22, 2025 at 7:11 PM
The new @mozilla.org CEO is going all-in on AI in @firefox.com 😓

This third paragraph "FF will evolve into an AI browser" is in direct conflict with the other two (choice and privacy).

I’m so tired of AI being shoved in places we never asked for.

blog.mozilla.org/en/mozilla/l...
December 17, 2025 at 5:30 AM
I see a lot of AI slop articles about @nuqs.dev on LinkedIn, but this one tops it all. 🤦‍♂️

The article also ends up with the usual follow-up: "would you like to add any other sections to the blog post, such as…" 🫠
December 16, 2025 at 7:02 PM
Some stats on how I use @raycast.com:

🥇 27k window management
🥈 3k Emoji & symbols
🥉 500 clipboard history

Hotkeys for switching apps (17.3k times) + window management for side-by-side is a super powerful way to context-switch.
December 16, 2025 at 3:42 PM
Coming next year: @nuqs.dev workshops.

I come to your company (in person or remote), and:

- Evaluate how your app could improve with URL state
- Show you how to use nuqs efficiently for your domain
- Level up your team with best practices

Interested? DMs are open.
December 9, 2025 at 2:21 PM
Trip down memory lane: this is the first launcher I used (Alfred was another popular one, but Quicksilver looked cooler)

qsapp.com
December 7, 2025 at 11:01 PM
This is my hotkey map for quick app switching with the Hyper key.

What should I put under E? Seems like a nice spot for minimal hand movement.
December 7, 2025 at 9:30 PM
The problem with adding "help wanted" issues on @github.com is that people just feed those to their agent, and loop over PR review comments like drones 🫠

I don't have a problem with using AI, but submitting vibe-coded slop is wasting everyone's time.

I doubt this will be enough, but it's a start:
December 7, 2025 at 8:23 AM
Submitted for @orcdev.com's OSS review stream on Tuesday 🤞

www.youtube.com/watch?v=m-pT...
December 6, 2025 at 10:05 PM
Found a backlink from @piccalil.li in my analytics.

Thanks for the kind words, @bell.bz 🫶

piccalil.li/the-index/146/
December 1, 2025 at 4:20 PM
I do say that a lot, indeed.
November 30, 2025 at 12:10 PM
Easily, my favourite talk at @reactadvanced.gitnation.org on Friday was @joehart.bsky.social’s making Final Fantasy IX in the browser with React, just for fun.

Hilarious from start to end, educational on reverse engineering sprite resources, 3D scenes stitching, and silly in the best possible way.
November 30, 2025 at 7:24 AM
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