Eric Clemmons, CEO of JavaScript Fatigue
banner
ericclemmons.com
Eric Clemmons, CEO of JavaScript Fatigue
@ericclemmons.com
ℹ Remote-first Staff Web guy. Product-centered UX and frictionless DX.

👔 @Honor | @Stripe | @AWS | @Starbucks | HigherEducation

🌐 ericclemmons.com
It seems like Cloudflare Agents SDK's `addMcpServer` only supports remote servers, not bindings.

So having something like developers.cloudflare.com/browser-rend... has to be separately deployed vs. part of an existing Agent
Playwright MCP
Deploy a Playwright MCP server that uses Browser Rendering to provide browser automation capabilities to your agents.
developers.cloudflare.com
October 4, 2025 at 12:58 AM
Ooo `tsdown --publint` builds and lints my packages:

github.com/publint/publ...

It could some missing types I wasn't generating!
GitHub - publint/publint: Lint packaging errors
Lint packaging errors. Contribute to publint/publint development by creating an account on GitHub.
github.com
September 18, 2025 at 1:55 AM
github.com/bahmutov/sta... from is *so good* in CI 😍

{
"scripts": {
"start": "npm start",
"test": "mocha e2e-spec.js",
"ci": "server-test 8080"
}
}
GitHub - bahmutov/start-server-and-test: Starts server, waits for URL, then runs test command; when the tests end, shuts down server
Starts server, waits for URL, then runs test command; when the tests end, shuts down server - bahmutov/start-server-and-test
github.com
September 5, 2025 at 9:16 PM
better-auth is so good

I wanted to support my old API keys, so I’m just making a new one on the fly when validating it.

No need to do a DB migration or anything. Seamless.
September 3, 2025 at 3:09 AM
Not only is Sam’s post beautifully illustrated, it’s the little details too
August 23, 2025 at 4:28 PM
Reposted by Eric Clemmons, CEO of JavaScript Fatigue
✨ Big O ✨

Let me take you on a visual introduction to what big O notation is in my new blog post: samwho.dev/big-o.

With big O notation you can better understand how algorithms will perform in practice, finding orders of magnitude improvements often with very simple changes to your code.
August 23, 2025 at 2:35 PM
Reposted by Eric Clemmons, CEO of JavaScript Fatigue
It's easy to miss a key feature of Node's TypeScript support that was released on Friday: it's zero config 💥

Meaning you don't need to put anything in package.json. Strictly speaking you don't even need a tsconfig to run the code.

nodejs.org/en/blog/rele...
August 5, 2025 at 1:28 PM
Reposted by Eric Clemmons, CEO of JavaScript Fatigue
Did you know you can do `height: stretch` now in CSS? Works for `width` too. /via @patrickbrosset.com

developer.mozilla.org/en-US/docs/W...
height - CSS | MDN
The height CSS property specifies the height of an element. By default, the property defines the height of the content area. If box-sizing is set to border-box, however, it instead determines the heig...
developer.mozilla.org
August 5, 2025 at 9:15 PM
Afternoon reset
August 6, 2025 at 8:03 PM
Wife took a photo of me this morning
August 1, 2025 at 12:18 AM
Reposted by Eric Clemmons, CEO of JavaScript Fatigue
TanStack DB is now in BETA!

We’ve been working on TanStack DB, an embedded, reactive client database for TanStack Query, and are proud to announce today that with the 0.1 release that it's now in BETA!

tanstack.com/blog/tanstac...
Stop Re-Rendering — TanStack DB, the Embedded Client Database for TanStack Query | TanStack Blog
Your React dashboard shouldn't grind to a halt just because one TODO turns from ☐ to ☑. Yet every optimistic update still kicks off a cascade of re-renders, filters, useMemos and spinner flashes. If y...
tanstack.com
July 29, 2025 at 5:59 PM
🌳 Keep what works. Cut off the tendrils that don’t. 🪾

The “facade pattern” is it’s the most economical way to “throw away the prototype” and build the product the way it should be.

(Also heard it as “strangler fig pattern”)
July 23, 2025 at 5:28 PM
Reposted by Eric Clemmons, CEO of JavaScript Fatigue
🔥 My friends at DMNO have a new devtool: varlock.

It’s a drop-in replacement for dotenv, and adds a bunch of cool stuff like validation and type safety. It stores the secrets themselves in password managers or encrypted vaults.

The landing page also has a very cool RPG vibe 😄
varlock.dev
July 16, 2025 at 7:18 PM
The fun of being early-stage CTO is getting the company on the right engineering rails.

There's a clarifying tension between what's wanted vs. what's needed, especially depending on the time horizon.

A month ago, customer success.
Last week, bug bashing.
This week, QA.
Next, 🏖️
July 9, 2025 at 11:34 PM
A bunch of Cloudflare permission gotchas, but I was able to hack the Dashboard's network calls into alchemy.run 🧙

```
await AutoRag("autorag", {
aiGateway: GATEWAY,
bucket: BUCKET,
name: `autorag-${app.stage}`
});
```

🎉
July 9, 2025 at 6:06 AM
I started from 0️⃣ tonight with Inngest and finished with a working bookmark tool! 😍

🏎️ Powered by Cloudflare {AI, Browser, D1, KV, R2}
July 8, 2025 at 6:28 AM
🦸 Being new is a super power - you can see what's invisible to everyone who's been there for a while 🙈
July 7, 2025 at 9:32 PM
Welp. Maybe Workers are great, but not when trying to use them inside of Astro (or even locally) 🤷

You know what *is* great? Inngest.

I wanted DO for WS & persistence, but It's probably easier to just do www.inngest.com/docs/feature...

🔨 💅
Realtime - Inngest Documentation
Learn how to use realtime to stream data from workflows to your users.
www.inngest.com
July 6, 2025 at 11:28 PM
It totally makes sense that local DX strongly determines what solutions even make it into production.

If you can’t prove something works in a local greenfield environment, good luck 👍

(This tweet sponsored by miniflare ☹️)
July 6, 2025 at 8:07 PM
Wanna get punched in the gut this Saturday?

Read this maalvika.substack.com/p/being-too-...

/ht @chaddonohue
being too ambitious is a clever form of self-sabotage
on starting, doing, being, and becoming.
maalvika.substack.com
July 5, 2025 at 5:54 PM
If everything goes well, demo videos TODAY 🙏
July 5, 2025 at 5:29 PM
I’m cooked
July 1, 2025 at 10:53 PM
🌶️ Doubling dependency size should be a major cession bump.

(minor at least)
July 1, 2025 at 9:29 PM
Teaching spellcheck that "Productionize" *is* a word
June 30, 2025 at 9:25 PM
Haven’t been keeping up with politics so I thought this was Tim Robinson at first
June 30, 2025 at 4:41 PM