Sign in

M 🏳️‍⚧️🦀🏴‍☠️

@msnook.xyz
897 followers 848 following 2.2K posts

I run a tiny web agency here in Bangalore, India: emju.in. DMs open. they/them 🍞🌹🏳️‍⚧️🏴‍☠️🇵🇸⌨️🚀 sober, dancing whenever I remember to dance.

PostsRepliesMedia
M 🏳️‍⚧️🦀🏴‍☠️ @msnook.xyz · 15/09/2026
Or as a skill: github.com/mhsnook/skil...
github.com
skills/skills/audit-nextjs-rendering/skill.md at main · mhsnook/skills
Contribute to mhsnook/skills development by creating an account on GitHub.
010
M 🏳️‍⚧️🦀🏴‍☠️ @msnook.xyz · 15/09/2026
I have mostly been on team "don't try to over-engineer everything, just use a good model and a good harness, write some skills/hooks, plan well, and read the code (within reason)" -- but more and more recently I'm thinking of getting into the cult of hack-your-own-harness; Pi is calling to me...
000
M 🏳️‍⚧️🦀🏴‍☠️ @msnook.xyz · 15/09/2026
I didn't even set up a loop lol I just turned on "check CI" and it turned on the webhook but then ALSO decided to arm an hourly check, which re-read the entire thread for no reason, even though the webhook was there and idle. oops.
000
M 🏳️‍⚧️🦀🏴‍☠️ @msnook.xyz · 15/09/2026
It turns out, the reason your NextJS site tells you it's pre-rendering everything, but your Vercel bill is still high and your pages feel sluggish... is because they're fucking lying to you. (Run this prompt in your NextJS project -- prompt text in image alt) #BuildInPublic
We've recently become aware that the rendering strategies Next.js reports at build time —
prerendered, on-demand (ISR), or dynamic — don't always match the build's own output, or what
the server actually does at runtime. Please audit this for our production build.

1. Run the production build and capture the full log.

2. Record what the build CLAIMS: the strategy it prints for each route.

3. Compare that against what it actually PRODUCED: the HTML/JSON/RSC payloads written to disk,
   and the entries in `.next/prerender-manifest.json`. These can disagree — the route table marks
   a route static on the basis of what the route asked for, not what the build wrote for it.

4. Probe the routes at runtime against the production server, with curl or a headless browser.
   Derive the URL list from the build output rather than guessing, and request each one at least
   twice; for anything claiming on-demand rendering, expect a miss then a hit, and say which you
   saw. Judge by `x-nextjs-cache`, `age` and ETag behaviour, NOT by `Cache-Control` alone — under
   `next start` every HTML route returns the same no-store header whether or not it was cached,
   so that header on its own proves nothing. Include a route you know to be cached as a positive
   control, so an absent header means something.

Report a table: route | strategy claimed | artefacts on disk | runtime behaviour | agree?

Where they disagree, find what pushes the route off the prerender path — a dynamic API in a
layout or page, `export const dynamic`, uncached fetches, middleware. Keep the Full Route Cache
and the Data Cache separate in your conclusions; losing the first doesn't mean losing the second.
Report what you measured, including anything that contradicts the premise above.A table showing all these routes in a NextJS project, the output of the prompt in the previous image, showing the main pages in the app are claiming to be SSG but they're actually all dynamic.
150
M 🏳️‍⚧️🦀🏴‍☠️ @msnook.xyz · 14/09/2026
All work and no play makes Fable burn through your entire weekly budget overnight re-reading the same inactive PR... #BuildInPublic
My claude code chat window, with an entire screen full of the same 2 lines:

Used 5 tools
No change on 306. Next check-in armed for an hour out.
121
M 🏳️‍⚧️🦀🏴‍☠️ @msnook.xyz · 09/09/2026
It's all tracking in local-storage only but I have half a mind to give it a tiny little database...
000
M 🏳️‍⚧️🦀🏴‍☠️ @msnook.xyz · 09/09/2026
thank you yes I have good ideas and sometimes I vibe-code them and try them and think wait this is fun as hell lemme make this fr -- it started as just the 1 feature but now it keeps history provides this extreeemely thin layer of a "to-did list" that I have always loved, integrated into my pomos.
100
M 🏳️‍⚧️🦀🏴‍☠️ @msnook.xyz · 08/09/2026
got you! welcome <3 please like and pin the feed, and tell friends :)
011
M 🏳️‍⚧️🦀🏴‍☠️ @msnook.xyz · 08/09/2026
After 15 years of using various different Pomodoro apps, my favourite in the whole wide world is the one I made yesterday 🥰😇 emju.in/pomodance
emju.in
Pomodance: a Pomodoro timer slash break-time dance-off
A pomodoro timer where the soundtrack changes when you go on break. Work and chill, then get up and dance.
131
M 🏳️‍⚧️🦀🏴‍☠️ @msnook.xyz · 07/09/2026
I rarely read it, TBH, but when I do need it, it's exactly what I need...
000
M 🏳️‍⚧️🦀🏴‍☠️ @msnook.xyz · 28/08/2026
recently I'm loving the way the LLM can give me these kinds of overviews, so I don't just move up the abstractions but down too: I can spend more time in reading-the-code mode. a scheduled task makes me this report every week, without a framework or server or a backlog to maintain. #BuildInPublic
a "Sunlo Issue Triage" dashboard for August 27. It shows open items, issues, PRs, critical, high, medium, duplicates. and then a filters bar and then a list/table with the issue or PR number/link, title, type, priority, age, last active, notes. and then below the table, a new section which lists CRITICAL with longer descriptions.
120
M 🏳️‍⚧️🦀🏴‍☠️ @msnook.xyz · 07/08/2026
I find this URL structure to be downright insidious
screenshot showing two github URLs, for an issue and a pull request. they end with "pull/206" and "issues/625" the user has highlighted the word "issues"
010
M 🏳️‍⚧️🦀🏴‍☠️ @msnook.xyz · 05/08/2026
❌ "Handlers write the ack." ✅ "Update/Insert handlers write the server acknowledgement back to the collection."
That hip hop teaching white lady, wearing black track pants and blue... urm... Rugby shirt, maybe? cropped hair, in a dance studio, caption "Keep your hip hop head up y'all. Boom bap!"
010
M 🏳️‍⚧️🦀🏴‍☠️ @msnook.xyz · 05/08/2026
i have just been recording examples of my sort of line-edit/tone-level rewrites... look the last two: ❌ "Two layers, and one collection never holds both." ✅ "There are two layers, persisted rows and derived data; most collections hold one or the other, not both." 1/2
110
M 🏳️‍⚧️🦀🏴‍☠️ @msnook.xyz · 05/08/2026
since we are all sharing our claude writing guides this week...
screenshot of my claude.md, just the title and one line: "- No slam poetry"
120
M 🏳️‍⚧️🦀🏴‍☠️ @msnook.xyz · 04/08/2026
Migrating a site from NextJS -> Vinext and LOOK AT THIS DIFF 60% of package-lock.json is just gone; compiled Javascript is 40% less. And we made zero (0) code changes to application code and Vinext; the entire diff is tests and tooling. #buildInPublic
GitHub screenshot showing the diff on package-lock.json: plus 8,952 lines, minus 23,078 lines.
030
M 🏳️‍⚧️🦀🏴‍☠️ @msnook.xyz · 03/08/2026
luv 2 ask Claude how to use Claude and it searches other people's websites 👍️👍️👍️
040
M 🏳️‍⚧️🦀🏴‍☠️ @msnook.xyz · 30/07/2026
The Boba Fett Story is a show about the worst and least exciting gun fights you've ever seen
010
M 🏳️‍⚧️🦀🏴‍☠️ @msnook.xyz · 30/07/2026
me, before the meeting: okay I'm not gonna get all political about it... them, at the meeting: Vinext was full of security problems! me:
Screenshot from the opening of the recent video of NYC Mayor Zohran Mamdani, seated at his desk in a charcoal suit, in front of the flags of USA and NYC, with a serious look on his face and his hands clasped and resting on the des in front of him. the caption for the video says "Benjamin Netanyahu is a war criminal"
000
M 🏳️‍⚧️🦀🏴‍☠️ @msnook.xyz · 30/07/2026
what did you move to?
000
M 🏳️‍⚧️🦀🏴‍☠️ @msnook.xyz · 29/07/2026
wdym it has frameworks??? you mean like tailwind and bootstrap, or like... something else?
100
M 🏳️‍⚧️🦀🏴‍☠️ @msnook.xyz · 29/07/2026
Did you know CSS has types? I h*ckin love this frankenstein language man, it's so unhinged
120
M 🏳️‍⚧️🦀🏴‍☠️ @msnook.xyz · 27/07/2026
The Madalorian is a show about a single dad struggling to access childcare so he can go to his day job.
0101
M 🏳️‍⚧️🦀🏴‍☠️ @msnook.xyz · 25/07/2026
I got my start in coding before serverless was really a thing; and working for orgs with really spikey traffic. So performance issues seemed like horror-movie villains, coming out of nowhere to turn your best day into your worst. I'm still unlearning those traumas 😅 the web is so much more fun now
030
M 🏳️‍⚧️🦀🏴‍☠️ @msnook.xyz · 16/07/2026
I feel so fortunate to be alive at this moment, where I can spend about 20% of my time messing around inside/around the fundamentals of how we made software. I might not use all these utilities for client projects, but I have learned _so much_ that I am now pouring back into other work. #blessed
100
M 🏳️‍⚧️🦀🏴‍☠️ @msnook.xyz · 16/07/2026
dude in the last 6 months I have written my own: - playwright wrapper and inline assertions runtime - tailwind wrapper for oklch-powered style-systems - real-time transport/sync adapter for Tanstack DB and durable objects - cloud service for hosting the testing framework, using the realtime sync
101
M 🏳️‍⚧️🦀🏴‍☠️ @msnook.xyz · 15/07/2026
why did they spend years making all the screens wider only to now just make them taller. like, they could have just zoomed out...
a still from The Odyssey -- showing the full picture in IMAX vs the heavily cropped picture on a regular screen
030
M 🏳️‍⚧️🦀🏴‍☠️ @msnook.xyz · 15/07/2026
got you 🚀 welcome :) please like and pin the feed. joining just means your content shows up on it; if you want to see other indians' content, you must pin! and tell your friends :))
000
M 🏳️‍⚧️🦀🏴‍☠️ @msnook.xyz · 15/07/2026
if I could just pull out this one... last... thread.... #buildInPublic #oopsImReinventingWheels #onPurpose
160
M 🏳️‍⚧️🦀🏴‍☠️ @msnook.xyz · 09/07/2026
Apropos of nothing: "rapidly aging population" is such a weird phrase? Like... is time moving faster there or what?
000
M 🏳️‍⚧️🦀🏴‍☠️ @msnook.xyz · 04/07/2026
The only way to stop a bad guy in the women's restroom is with a good guy in the women's restroom send tweet
060
M 🏳️‍⚧️🦀🏴‍☠️ @msnook.xyz · 04/07/2026
Ya I'm aware, she even wears samurai style shin and forearm armour. But people didn't actually fight in zatoichi style, and with a lightsaber it provides zero benefit, so all this means is that they cared lots about some surface level samurai aesthetic and basically zero about the technique itself..
000
M 🏳️‍⚧️🦀🏴‍☠️ @msnook.xyz · 28/06/2026
Ahsoka is basically a space swordfighting show. I therefore find it unforgiveable that they make her turn her sword around backwards, presumably to look more badass. (This is one of my least favourite tropes and they do it to women characters A LOT.)
110
M 🏳️‍⚧️🦀🏴‍☠️ @msnook.xyz · 24/06/2026
as a former DNC chair... I think it's clear he understands the function of a primary is to ram through the pre-selected candidates and launder it as a democratic process
0220
M 🏳️‍⚧️🦀🏴‍☠️ @msnook.xyz · 24/06/2026
you guys keep changing your minds -- now you're saying you _want_ people to run as third-party candidates?
000
M 🏳️‍⚧️🦀🏴‍☠️ @msnook.xyz · 24/06/2026
yes, welcome! please like and pin the feed 📍 and tell your friends :)
000
M 🏳️‍⚧️🦀🏴‍☠️ @msnook.xyz · 19/06/2026
we call her "the good fairy" but she basically murdered little bunny foo foo
120
M 🏳️‍⚧️🦀🏴‍☠️ @msnook.xyz · 19/06/2026
alternatively, if you need your boss to f'in listen to you about a safety/risk issue, the following sentence can be quite effective: "we should be careful, if someone looks at this wrong, it might seem like negligence."
220
M 🏳️‍⚧️🦀🏴‍☠️ @msnook.xyz · 19/06/2026
you're onto something really important here. the predicate nominative IS the subject. the noun verbs the noun. the gap is the feature. you're right, I treated the entire point as a nice-to-have. that's the load-bearing thing. if you want me to fix the past, just say the word.
000
M 🏳️‍⚧️🦀🏴‍☠️ @msnook.xyz · 16/06/2026
something i genuinely love about working in tech now that i have a little more experience -- spend a week reinventing the wheel, and then go back to the existing wheels feeling like you really understand every inch of it. there's nothing like the feeling! #buildinpublic
030
M 🏳️‍⚧️🦀🏴‍☠️ @msnook.xyz · 11/06/2026
I feel like the web has reached a point of such capital saturation that you have to get laser-focused on a very specific niche, because if you start to get big without a super solid foundation, someone with more money and a big token budget will just scoop you. there's no moat left but obscurity :-/
030
M 🏳️‍⚧️🦀🏴‍☠️ @msnook.xyz · 28/05/2026
just today! x.com/cgeorgiaw/st...
000
M 🏳️‍⚧️🦀🏴‍☠️ @msnook.xyz · 26/05/2026
ya I think the really insidious thing is: "it" really will cure cancer: but the "it" is not Open AI's chat model; "it" is some PhD student at a tier-2 university in Maine painstakingly training an open-weight Chinese model to solve protein-folding problems. The major players are stealing their hype.
120
M 🏳️‍⚧️🦀🏴‍☠️ @msnook.xyz · 26/05/2026
... a product that is already built-out, busy, requiring that engineers and designers have a mental model for what their users are already used to and how to shape in more like moulding clay than "building". AI itself isn't really able to give the kind of care and insight for this work.
020
M 🏳️‍⚧️🦀🏴‍☠️ @msnook.xyz · 26/05/2026
I am an AI skeptic, and also a software dev working solo to start my own business -- I can fully see why large companies with well established products will have these results. AI dev is good for making your first draft look more polished, but it will not bring sanity to...
250
M 🏳️‍⚧️🦀🏴‍☠️ @msnook.xyz · 21/05/2026
* wake up with a clear mind * -> BEES while brushing my teeth * go to bed on time, before exhaustion * -> BEES while lying in bed * go on meditation retreat, learn to quiet the bees, return to outside world * -> BEEEEESS OMG SO MANY BEES BEES BEEES
010
M 🏳️‍⚧️🦀🏴‍☠️ @msnook.xyz · 20/05/2026
Hugs 🫂 to you friend. The six months after I quit drinking were really awful in some important ways. Just as disassociated, but manic, craving, seeking.
020
M 🏳️‍⚧️🦀🏴‍☠️ @msnook.xyz · 20/05/2026
All the help for addiction seems like "drugs will ruin your life; we'll help you get off the drugs!" -- okay, I stopped. Now what? The bees are forever, it seems.
250
M 🏳️‍⚧️🦀🏴‍☠️ @msnook.xyz · 20/05/2026
I think I've come a long way, but I still struggle with addiction. I've kicked one habit after another, replaced them with meditation, breath work, grounding, listening, humility. But I still have bees in my head and a constant impulse to disassociate and run from my life.
1100
M 🏳️‍⚧️🦀🏴‍☠️ @msnook.xyz · 17/05/2026
It should be illegal to put ads in the middle of Random Access Memories
010