Eric Clemmons, CEO of JavaScript Fatigue's Avatar

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

6,684
Followers
596
Following
1,030
Posts
28.10.2024
Joined
Posts Following

Latest posts by Eric Clemmons, CEO of JavaScript Fatigue @ericclemmons.com

Preview
Playwright MCP Deploy a Playwright MCP server that uses Browser Rendering to provide browser automation capabilities to your agents.

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

04.10.2025 00:58 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Someone who gives a damn about others would be a welcome change

20.09.2025 20:41 πŸ‘ 3 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
GitHub - publint/publint: Lint packaging errors Lint packaging errors. Contribute to publint/publint development by creating an account on GitHub.

Ooo `tsdown --publint` builds and lints my packages:

github.com/publint/publ...

It could some missing types I wasn't generating!

18.09.2025 01:55 πŸ‘ 12 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
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/bahmutov/sta... from is *so good* in CI 😍

{
"scripts": {
"start": "npm start",
"test": "mocha e2e-spec.js",
"ci": "server-test 8080"
}
}

05.09.2025 21:16 πŸ‘ 3 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

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.

03.09.2025 03:09 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Not only is Sam’s post beautifully illustrated, it’s the little details too

23.08.2025 16:28 πŸ‘ 5 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Video thumbnail

✨ 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.

23.08.2025 14:35 πŸ‘ 418 πŸ” 105 πŸ’¬ 29 πŸ“Œ 21

I dig that style a lot!

13.08.2025 12:42 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

All of my projects are wrapped in www.jetify.com/devbox now

Since everything I do has 1+ web servers running, I love Caddy and process-compose as the TUI

11.08.2025 23:40 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
2025-07-31, Version 22.18.0 'Jod' (LTS), @aduh95
Notable Changes
Type stripping is enabled by default
Node.js will be able to execute TypeScript files without additional configuration:

$ echo 'const foo: string = "World"; console.log(`Hello ${foo}!`);' > file.ts
$ node file.ts
Hello World!

2025-07-31, Version 22.18.0 'Jod' (LTS), @aduh95 Notable Changes Type stripping is enabled by default Node.js will be able to execute TypeScript files without additional configuration: $ echo 'const foo: string = "World"; console.log(`Hello ${foo}!`);' > file.ts $ node file.ts Hello World!

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...

05.08.2025 13:28 πŸ‘ 85 πŸ” 16 πŸ’¬ 6 πŸ“Œ 1
Preview
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...

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...

05.08.2025 21:15 πŸ‘ 149 πŸ” 31 πŸ’¬ 14 πŸ“Œ 4
Post image

Afternoon reset

06.08.2025 20:03 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image

Wife took a photo of me this morning

01.08.2025 00:18 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
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 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...

29.07.2025 17:59 πŸ‘ 84 πŸ” 9 πŸ’¬ 2 πŸ“Œ 2

Huh.

I wonder how this hasn’t been a pain point.

I understand it intellectually from years of DOM scripting, of course.

As someone who can’t help but cut myself on any bleeding edge, I’m wondering what experience I haven’t had now…

24.07.2025 21:00 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Ah. My thought was that JS had equivalents, removing the need for their version in the DOM.

- Comments are JS comments
- Listeners are onClick
- Fragments/Templates are components

I can’t remember properties vs attributes. Is selectedIndex an example of that?

24.07.2025 19:36 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Say more about expressive enough?

24.07.2025 19:25 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Literally smiling by how cool this is

23.07.2025 17:31 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

🌳 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”)

23.07.2025 17:28 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Video thumbnail

πŸ”₯ 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

16.07.2025 19:18 πŸ‘ 80 πŸ” 9 πŸ’¬ 5 πŸ“Œ 2

I got 10 questions in and ready to burn it all down 🀬

11.07.2025 23:32 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

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, πŸ–οΈ

09.07.2025 23:34 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image

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}`
});
```

πŸŽ‰

09.07.2025 06:06 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I’m a fan.

Ready-to-go components that’s already on Tailwind, so the underlying CSS vars and escape hatches are all there.

Terse by default.
Utilities when needed.

08.07.2025 07:05 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Dude, could you have imagined this only a few years ago??

This is a crazy good accomplishment! So professional, and the quality is top notch, too!

08.07.2025 06:52 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Local prototype of bookmarks actually working

Local prototype of bookmarks actually working

Inngest dashboard

Inngest dashboard

I started from 0️⃣ tonight with Inngest and finished with a working bookmark tool! 😍

🏎️ Powered by Cloudflare {AI, Browser, D1, KV, R2}

08.07.2025 06:28 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
πŸš€ Feature Request:RPC Support for Durable Objects in `wrangler dev` Β· Issue #5918 Β· cloudflare/workers-sdk Describe the solution When binding a durable object using RPC that was defined in a different worker, it fails with: Cannot access `MyDurableObject#myMethod` as Durable Object RPC is not yet suppor...

I think that's exactly it – I'm always cutting myself on the edge before others do.

github.com/cloudflare/w... still fails as of last night.

github.com/cloudflare/w... still seems to be an issue, too

Admittedly, it could be the jello effect from alchemy.run/concepts/dev/ causing wiggle

07.07.2025 21:35 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

🦸 Being new is a super power - you can see what's invisible to everyone who's been there for a while πŸ™ˆ

07.07.2025 21:32 πŸ‘ 4 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
Realtime - Inngest Documentation Learn how to use realtime to stream data from workflows to your users.

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...

πŸ”¨ πŸ’…

06.07.2025 23:28 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

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 ☹️)

06.07.2025 20:07 πŸ‘ 5 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0