snappify ✨ retweeted
while I'm working a lot less on snappify compared to the previous years, I still treat it as a product that is used by many (paying) users, and I want them to have a great experience
here and then long-year customers like @mathsppblog reach out if there's something annoying in their workflow or they are missing something, and I'm doing my best to provide them with fixes and also new features 🫡
and to be honest, it's always refreshing to come back to this code base where I've poured so much time, energy, and love into .. it's still an outstandingly good product!
snappify ✨ retweeted
🍿 You might be leaking secrets in Next.js.
Environment vars starting with NEXT_PUBLIC_ go straight to the browser yes, even API keys 😅
The fix? Use Server → Client Parent–Child pattern, do sensitive work on the server and pass only data down
Read the full issue 👇
snappify ✨ retweeted
Stop Infinite Re-renders
Ever add a handler inside an effect, put it in the dependency array, and suddenly… re-renders forever?
That’s usually because your handler changes identity every render, so the effect keeps tearing down and setting up again.
React 19.2 just dropped useEffectEvent that fixes this problem.
Here's How 👇
snappify ✨ retweeted
Your future you will thank you for this:
The keyword `assert` takes an expression to its right.
If the expression evaluates to `True`, or Truthy, everything is fine.
But if it doesn’t, you get an `AssertionError`.
That's a pretty unhelpful/generic error...
Here's the fix:
snappify ✨ retweeted
I panicked when I saw this. I tend to associate Armin to Python. But this is JS. I'm sorry you have to use JS, Armin. ❤️🩹
Here's the Python behaviour:
snappify ✨ retweeted
today I'm launching a free API to fetch favicons from any website 🥳
just pass the desired domain and retrieve the favicon in the best quality!
you can also resize and convert the image into different formats
it's using Bun & Hono, is open source, and easily self-hostable ❤️
snappify ✨ retweeted
I also made a short video (thanks to @snappify_io) from the last thread:
snappify ✨ retweeted
We released Stelvio 0.4.0 almost a month ago,
but I haven't written about the new features yet.
Let's take a look at AWS DynamoDB indexes today.
You can create both global and local indexes with concise Python.
Use dataclasses or dicts — whichever you prefer.
snappify ✨ retweeted
I've finally switched to proper auth guards via beforeLoad from TanStack Router
before I had a weird "Redirects" component that took care of the auth guarding globally and had weird effects when auth state refreshed 🙈
snappify ✨ retweeted
At @eigencloud we're making it drastically simpler to build apps with crypto guarantees but with simple web2 UX.
We are meeting developers where they are. No crypto knowledge required.
• EigenAI - OpenAI compatible Verifiable AI API.
Drop an EigenAI endpoint into any OpenAI compatible application and it "just works", but with verifiability.
• EigenCompute - make any codebase verifiable.
"eigenx app deploy" and your app runs with blockchain-level trust guarantees at web2 scale. Build agents, games, or DeFi products that users can actually verify.
Both services are now live on mainnet alpha. ⚡️
xitter.cf/eigenlayer/status/1973…
Both EigenAI + EigenCompute are live on mainnet alpha!
Start building verifiable AI today: onboarding.eigencloud.xyz
snappify ✨ retweeted
Last week’s Snack: Underrated Caching Trick ⚡🍿
🚀 Cache Components in Next.js 16
🎨 Tailwind child selectors @DavidKPiano
🔥 @tan_stack Start v1 Release Candidate
⚡ ai-sdk-zustand → state mgmt + debugging for AI SDK @pontusab
One email. All the latest news + learn something new!
snappify ✨ retweeted
Stop Freezing Your UI 🍿
Imagine you go to a restaurant 👩🍳 and a server comes to take your order but until your food is ready, you're frozen and not allowed to chat with your friends, drink water or do anything.
That's the reality in your browser 😅.
If you press a button, your entire UI freezes and unless you fix this, you won't be able to do anything.
That's where useTransition come in play.
Without useTransition, when you click a button that does something expensive, your entire app becomes unresponsive.
📜 Can't scroll - You're stuck looking at the same part of the page
▶️ Can't click other buttons - Everything is frozen
🧭 Can't navigate - You're trapped until the operation completes
useTransition is like having a waiter who takes your order and then works in the kitchen while you can still chat with friends, drink water, and move around.
snappify ✨ retweeted
Last week’s Snack: Lazy Load Heavy Components ⚡🍿
Not every component deserves a first-class ticket in your bundle.
📚 Dan Abramov’s new Learn for JS Developers
🎨 Build gradients on the fly → Gradient.style
🧠 Deriving Client State from Server State by @TkDodo
🤯 AI Tools Registry with @shadcn CLI integration
One email. All the latest frontend + AI news.
snappify ✨ retweeted
If you are preparing your talk for @friendlyrb or @EuRuKo then may I suggest to you @snappify_io ?
Not affiliated but it is so good! There are two years since I am using it for all my presentations and social media imaged with code shared.
snappify ✨ retweeted
Ever wonder why your app feels slow even with a decent backend?
👉 Chances are, you’re forcing users to download everything up front -charts, maps, editors, the kitchen sink.
With React.lazy + Suspense, you can lazy load heavy components only when they’re actually needed.
You get,
⚡ Faster first load
🎯 Users see what matters first
🍿 A smoother, more professional UX
I just broke this down in my newsletter Frontend Snacks, reply if you want the link!
snappify ✨ retweeted
Last week’s Snack: Next.js 15.5 Type Safety 🏆
Next.js → auto-completes your routes, throws compile-time errors
⚡ One API, all providers by @vercel AI Gateway
🎥 FFmpeg 8.0 convert, record & stream anything @FFmpeg
🚀 Build & deploy AI agents, now out of beta @triggerdotdev
■ Component Composition by @TkDodo, TanStack Query Maintainer
That’s just a taste. Every week I round up the latest frontend tips, tools, and news into one snack-sized email.
Subscribe here:
dub.sh/tJyjGc2
snappify ✨ retweeted
Love FFmpeg 💖
Here is a handy command that converts a 200mb file to < 50mb!
🚨 FFmpeg 8.0 has been released! 🚨
It has many new features and bugfixes such as APV and ProRes RAW decoding, numerous Vulkan encoders and decoders, VVC decoding features etc.
We have also upgraded our project infrastructure.
ffmpeg.org/
snappify ✨ retweeted
I just had a couple of minutes of fun writing an infinite binary counter in Python.
However, I thought I'd be able to express this easily with recursion but nothing obvious comes to mind...
Any suggestions?
![Code snippet with the implementation of a counter in binary. Python code:
```py
def bin_counter():
digits = [0] # digits stored in little-endian
while True:
yield "".join(map(str, reversed(digits)))
for idx, digit in enumerate(digits):
carry, digits[idx] = divmod(digit + 1, 2)
if not carry:
break
else:
digits.append(1)
```](https://pbs.twimg.com/media/Gy4PSC1WYAAdWxL.jpg?name=small&format=webp)
ALT Code snippet with the implementation of a counter in binary. Python code: ```py def bin_counter(): digits = [0] # digits stored in little-endian while True: yield "".join(map(str, reversed(digits))) for idx, digit in enumerate(digits): carry, digits[idx] = divmod(digit + 1, 2) if not carry: break else: digits.append(1) ```

























