Sign in

Eric Clemmons, CEO of JavaScript Fatigue

@ericclemmons.com
6.7K followers 596 following 1K posts

ℹ Remote-first Staff Web guy. Product-centered UX and frictionless DX. 👔 @Honor | @Stripe | @AWS | @Starbucks | HigherEducation 🌐 ericclemmons.com

PostsRepliesMedia
Eric Clemmons, CEO of JavaScript Fatigue @ericclemmons.com · 23/08/2025
Not only is Sam’s post beautifully illustrated, it’s the little details too
150
Eric Clemmons, CEO of JavaScript Fatigue @ericclemmons.com · 06/08/2025
Afternoon reset
000
Eric Clemmons, CEO of JavaScript Fatigue @ericclemmons.com · 01/08/2025
Wife took a photo of me this morning
020
Eric Clemmons, CEO of JavaScript Fatigue @ericclemmons.com · 09/07/2025
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}` }); ``` 🎉
020
Eric Clemmons, CEO of JavaScript Fatigue @ericclemmons.com · 08/07/2025
I started from 0️⃣ tonight with Inngest and finished with a working bookmark tool! 😍 🏎️ Powered by Cloudflare {AI, Browser, D1, KV, R2}
Local prototype of bookmarks actually workingInngest dashboard
010
Eric Clemmons, CEO of JavaScript Fatigue @ericclemmons.com · 01/07/2025
I’m cooked
110
Eric Clemmons, CEO of JavaScript Fatigue @ericclemmons.com · 30/06/2025
Haven’t been keeping up with politics so I thought this was Tim Robinson at first
040
Eric Clemmons, CEO of JavaScript Fatigue @ericclemmons.com · 25/06/2025
🚀 pnpm catalogs just got better! github.com/pnpm/pnpm/re...
110
Eric Clemmons, CEO of JavaScript Fatigue @ericclemmons.com · 24/06/2025
Aww man. @cursor_ai doesn't work well with @gitbutler – it won't do anything because of the branch name being different. I wonder if this affects all git worktrees?
000
Eric Clemmons, CEO of JavaScript Fatigue @ericclemmons.com · 14/06/2025
For Father’s Day, I’m getting dropped off to have a day to myself and build stuff.
0210
Eric Clemmons, CEO of JavaScript Fatigue @ericclemmons.com · 10/06/2025
You know you live in a safe neighborhood when people leave their cyber truck out overnight.
Dumpster in the driveway of a rich home
080
Eric Clemmons, CEO of JavaScript Fatigue @ericclemmons.com · 10/06/2025
Having the top hosting providers battle it out in my GitHub PRs 🥊
vercel & cloudflare updating PR comments
160
Eric Clemmons, CEO of JavaScript Fatigue @ericclemmons.com · 09/06/2025
Scared to charge $5/mo for your SaaS, meanwhile a Docusaurus alternative is 30x that 🤔
Mintlify pricing page
020
Eric Clemmons, CEO of JavaScript Fatigue @ericclemmons.com · 07/06/2025
Aww man AI is coming for my alchemy.run contributions
alchemy.run contributor rankings (I'm #2, devin is #3)
120
Eric Clemmons, CEO of JavaScript Fatigue @ericclemmons.com · 02/06/2025
Made a latte for afternoon standup with my desk mates
Crocheted seal, dumpster fire, and duck hanging around an oat latte.
130
Eric Clemmons, CEO of JavaScript Fatigue @ericclemmons.com · 30/05/2025
“The president died” and had to specify helldivers before the champagne cork popped
120
Eric Clemmons, CEO of JavaScript Fatigue @ericclemmons.com · 25/05/2025
Thanks ChatGPT for helping me install this fan 🥰
120
Eric Clemmons, CEO of JavaScript Fatigue @ericclemmons.com · 12/05/2025
Make macOS screenshots 💯% better with this 1 weird trick 1️⃣ Open `Screenshot` app 2️⃣ Click "Options ▾" 3️⃣ ✔️ Uncheck "Show Floating Thumbnail" 🎉
Searching for "screenshot" appUnchecking "Show Floating Thumbnail"
361
Eric Clemmons, CEO of JavaScript Fatigue @ericclemmons.com · 01/05/2025
Me? Oh, just finally realized 4 hours into the day that I forgot to check this box & that's why my Vite transforms weren't updating 🥲
"Disable cache" in Network Dev Tools finally gets checked.
040
Eric Clemmons, CEO of JavaScript Fatigue @ericclemmons.com · 23/04/2025
Is there a Workers-equivalent for www.pulumi.com/registry/pac...? I want to make a Workers Project that's linked to my repo, just like I have on Vercel.
Import Worker from repository
540
Eric Clemmons, CEO of JavaScript Fatigue @ericclemmons.com · 21/04/2025
Commit messages don't matter. This 1 setting is way better.
Pull Requests – only "Allow squash merging"
180
Eric Clemmons, CEO of JavaScript Fatigue @ericclemmons.com · 10/04/2025
I cut back a lot of spending, but once a month I get a haircut and enjoy dinner alone
Cucumber salad and coding on a patio
140
Eric Clemmons, CEO of JavaScript Fatigue @ericclemmons.com · 04/04/2025
RSC by default in Redwood 👀
081
Eric Clemmons, CEO of JavaScript Fatigue @ericclemmons.com · 31/03/2025
Desperate for Al pastor tacos, I worked with what I had
Tacos with pork, grilled pineapple, fresh white onion, cilantro, griddle cheese and jalapeño salsa
170
Eric Clemmons, CEO of JavaScript Fatigue @ericclemmons.com · 24/03/2025
🥵 Wired up an OAuth Proxy for Google *and* Bluesky, thanks to www.better-auth.com/docs/plugins... 💪 This means that I can work on a non-standard TLD (*.localhost) and successfully authenticate against a single redirect_uri. Plus, it means I can even use @cloudflare.social tunnels for it!
Screenshot of www.bmarks.localhost showing a Google and Bluesky sign-in buttons.
0110
Eric Clemmons, CEO of JavaScript Fatigue @ericclemmons.com · 22/03/2025
Forcing bsky’s atproto oauth into www.better-auth.com/docs/plugins...
https://knowyourmeme.com/memes/the-square-hole
070
Eric Clemmons, CEO of JavaScript Fatigue @ericclemmons.com · 19/03/2025
Vercel wins *again*. With @astro.build, preview deployments worked, but main required 2 changes: 1. import vercel from "@astrojs/vercel/serverless"; 2. Explicitly setting `.vercel` as the Output Directory
Vercel Build settings for Astro on Serverless
040
Eric Clemmons, CEO of JavaScript Fatigue @ericclemmons.com · 19/03/2025
Oh, I see why now. Cloudflare Pages gives: > Error: No such module "node:http" Even `nodejs_compat` doesn't fix it :(
https://stackoverflow.com/questions/77199165/error-could-not-access-built-in-node-js-modules
200
Eric Clemmons, CEO of JavaScript Fatigue @ericclemmons.com · 17/03/2025
If you can write a README.md, you can write a @cursor.sh Agent rule. 👈 Agent running my rule to "generate bluesky oauth keys" 👉 Copy/Paste instructions from the README *Way* easier than turbo.build/repo/docs/gu... 💪
Screenshot of Cursor.  Left panel is the Agent responding to "Generate bluesky oauth keys". On the right is the Rule editor with markdown instructions.
030
Eric Clemmons, CEO of JavaScript Fatigue @ericclemmons.com · 16/03/2025
Really nice! One tiny 404 in case you weren’t aware:
120
Eric Clemmons, CEO of JavaScript Fatigue @ericclemmons.com · 08/03/2025
Hello Kitty Cafe Truck + baby goats at the farmers market
Pink, hello kitty cafe van parked in front of a building Adorable baby goats behind a fence on pavement
000
Eric Clemmons, CEO of JavaScript Fatigue @ericclemmons.com · 04/03/2025
CSS-only "Collapsible" component. (Not MUI-specific)
Source:

```tsx
import ... from "@mui/material"

type Props = React.PropsWithChildren & {
    gap?: React.ComponentProps<typeof Box>['gap'];
    in?: Boolean;
};

const transition = 'all 250ms ease-in-out';

export function NativeCollapse(props: Props) {
    return (
        <Grid
            container={true}
            display="grid"
            gap={props.gap}
            gridTemplateRows={props.in ? '1fr' : '0fr'}
            overflow="hidden"
            sx={{transition}}
        >
            <Grid
                item={true}
                minHeight={0}
                sx={{opacity: props.in ? 1 : 0, transition}}
                visibility={props.in ? 'visible' : 'hidden'}
            >
                {props.children}
            </Grid>
        </Grid>
    );
}
```
010
Eric Clemmons, CEO of JavaScript Fatigue @ericclemmons.com · 02/03/2025
Took the extra 5 minutes to have a type-safe process.env thanks to @t3.gg's t3-env + @arktype.io 🫶
Screenshot of db.ts & env.ts contents

```ts
import { neon } from "@neondatabase/serverless";
import { drizzle } from "drizzle-orm/neon-http";

import { env } from "./env";

export const db = drizzle({ client: neon(env.DATABASE_URL) });
```
0151
Eric Clemmons, CEO of JavaScript Fatigue @ericclemmons.com · 27/02/2025
This is cool! Type-safe fetches thanks to @hono.dev & @arktype.io!
Screenshot of source code:

```ts
// apps/www/src/index.ts
import client from "@apps/api/client"

await client.api.hello
  .$get({ query: { email: "test@example.com" } })
  .then((res) => res.json());

// { "message": "Hello test@example.com!" }


// apps/www/api/client.ts
import { hc } from "hono/client";
import type { App } from "./app";

export default hc<App>("https://api.apps.localhost/");
```
```
280
Eric Clemmons, CEO of JavaScript Fatigue @ericclemmons.com · 25/02/2025
Perplexity just straight making up APIs over here 🙄
Perplexity says react-hook-form has a `readOnly` optionBut when asked about the readOnly option, it says it doesn't exist.
040
Eric Clemmons, CEO of JavaScript Fatigue @ericclemmons.com · 17/02/2025
1 – `devbox run gen app` (which is just `turbo gen app`) 2 – `devbox run dev` 3 – Ctrl-R when I inevitably crash wrangler 😙
process-compose running caddy, www, & api services
010
Eric Clemmons, CEO of JavaScript Fatigue @ericclemmons.com · 16/02/2025
Haha get ‘em Sunil!!
Quote of the day”now the nerds in the audience are probably pissed because this doesn’t wire up to a react rerender”
020
Eric Clemmons, CEO of JavaScript Fatigue @ericclemmons.com · 08/02/2025
Welp. Thanks for keeping receipts. I broke my twitter ban to check and looks like she deleted it. Her “Wall of Love” is kinda cringe now: www.tessakriesel.com/wall-of-love/
@tessak22 does not existGoogle still has her X account indexedEmbedded tweet on her website equating Tessa with the definition of “Diversity and Inclusion”
020
Eric Clemmons, CEO of JavaScript Fatigue @ericclemmons.com · 03/02/2025
I tried Ai summaries for a while now and just don’t think they’re helpful. When each notification requires individual action, a summary doesn’t help.
Disabled “Summarize Notifications” in iOS
150
Eric Clemmons, CEO of JavaScript Fatigue @ericclemmons.com · 30/01/2025
Chicken katsu, sauce, and Benihana-style fried rice

(Not pictured - vegetables)
060
Eric Clemmons, CEO of JavaScript Fatigue @ericclemmons.com · 29/01/2025
There’s…some precedence there
GIF of intense luigi character “Luigi intensifies”
010
Eric Clemmons, CEO of JavaScript Fatigue @ericclemmons.com · 26/01/2025
Just because I take direction well
Golden doodle chillin on a beige couch.
0141
Eric Clemmons, CEO of JavaScript Fatigue @ericclemmons.com · 19/01/2025
Wait. He’s not even president yet and somehow he saved it? Feels like manipulative.
151
Eric Clemmons, CEO of JavaScript Fatigue @ericclemmons.com · 19/01/2025
I STILL HAVE 2 MORE HOURS TO SCROLL PLEASE 😭
The US government banning Tik Tok faster than gun violence. But almost as fast as banning women’s rights!
220
Eric Clemmons, CEO of JavaScript Fatigue @ericclemmons.com · 10/01/2025
📺 How I fixed a race-condition with @tanstack.com Router & @react.dev's flushSync 👇 🌐 react.dev/reference/re... 🌐 tanstack.com/router/lates... (60s is too short 🥵)
1130
Eric Clemmons, CEO of JavaScript Fatigue @ericclemmons.com · 05/01/2025
/me clones repo $ devbox services up $ open www.bmarks.localhost 🔥
process-compose TUI
130
Eric Clemmons, CEO of JavaScript Fatigue @ericclemmons.com · 03/01/2025
Using Warp with starship.rs? Be sure to go to Settings > Edit Prompt and choose your PS1 shell prompt 👇
Warp settings screen has a custom prompt builder selected.  Instead, the "Shell prompt (PS1)" is now selected.
090
Eric Clemmons, CEO of JavaScript Fatigue @ericclemmons.com · 31/12/2024
Was able to give Ghostty a try for ~5m thanks to ghostty.zerebos.com, but running into basic limitations like +f and tabs in Quick Terminal iTerm2 / Warp still.
Tabs aren't supported in the Quick Terminal
030
Eric Clemmons, CEO of JavaScript Fatigue @ericclemmons.com · 28/12/2024
Let’s remove the GLP-1 stigma. Gym + diet barely made a sustainable dent compared to how my body responded 10 or even 5 years ago. But starting August, my scale is finally doing some numbers 🔥
Weight loss graph from 215 to 185 lbs
0100
Eric Clemmons, CEO of JavaScript Fatigue @ericclemmons.com · 23/12/2024
I know shadcn is the default, but after using MUI for a year, with a nice theme, I've been able to build any UI I've needed. There's an escape-hatch for *everything*, without having to actually own the code 🙃
MUI Dashboard

https://mui.com/material-ui/getting-started/templates/dashboard/shadcn UI

https://ui.shadcn.com/
3100