DEVELOPER NEWS STREAM
Direct logs, engine updates, and framework notifications parsed from curated RSS feeds and announcements, updated hourly.

Alexandre SaiegMoving a Next.js App Router app from Capacitor server.url to an embedded offline-first build (Android + iOS)
I have an app in production on Android and iOS built with Next.js 16 (App Router, Server Components,...

Daniel PertuWe block first paint with an inline script on purpose, and the list inside it is generated
A synchronous script in head, an eslint-disable above it, and 45 paths serialised into it from a shared module because the two copies of that list had already drifted into two pages rendering the wrong colour.

Daniel PertuOne content registry, four consumers, and the RSS feed that inherited an editorial order
66 blog posts, one array, and four places that read it: the index page, the Blog JSON-LD, the sitemap and a hand written RSS feed. Writing this post is how I found out the feed is not in date order.

Daniel PertuOne string is the page title, the h1 and the JSON-LD headline, which makes shortening it a content edit
A 24 page content cluster where metaTitle is rendered three times. Why that is deliberate, the 12 character tax the Next.js title template adds, and the trap it sets for anyone tidying up a title for SEO.

Daniel PertuYour title template spends ten of your sixty characters, and nobody counts them
Enforcing meta title and description budgets in node --test across 38 pages, most of which are generated. Why the suffix is read from the layout, and why unparseable has to fail rather than skip.

Daniel PertuA data export needs a field explaining what is not in it
Two self-service GDPR routes, and the four engineering decisions in them: a note field, a fail-closed guard, a sentinel contributor, and an order of operations.

Daniel PertuMore JavaScript arrives after our landing page loads than before it
Measured on our own landing page, 295 KB of script arrives before the load event and 325 KB after it. The split is deliberate, and the interesting part is the error buffer that makes it safe.

Daniel PertuOur query timeout had to be set on the Postgres role, because the pooler throws away everything else
A SET statement_timeout in application code that never did anything, a startup parameter PgBouncer refuses outright, and why the number we settled on is 15 seconds rather than something tighter.

Anas SheikhWhy Your useEffect Runs Twice in Development (And Why You Shouldn't "Fix" It)
This causes a very specific, very common reaction, a developer sees a console.log inside useEffect...

Tanbir Hossain RamimHow I Built VoiceMax: Reading Emotion From a Voice Recording With Three Small AI Flows
By Tanbir Hossain Ramim. Project page: VoiceMax. Source: github.com/TanbirRamim/VoiceMax. VoiceMax...

NiteshI got tired of $30/mo paywalls, so I built a 100% free digital asset vault using Next.js
Hey DEV community! As a developer and creator, I’ve always found it frustrating how heavily gated...

Oopssec StoreI uploaded a green square to a Next.js store and got stored XSS
Upload a malicious SVG to the admin product image field and get stored XSS that fires for every...
Nayan KyadaPrismic Pricing 2026: Free Tier Limits, Per-Seat Costs & When to Upgrade
Exact Prismic pricing tiers for 2026: free plan limits, per-seat costs, what triggers an upgrade, and how it compares to Sanity and Contentful.

EscrozonCloudflare cached our 404s: why a new page kept 404ing after a good deploy
We run Escrozon, an escrow marketplace for digital assets, behind Cloudflare. A while ago we shipped...

Muhammad HammadArchitectural Breakdown: Can Two Local AI Agents Build an App Without Me? I Gave Them 6 Rounds to Fi

mahmood al-dulaimiI Built a Free Sci-Hub Alternative from Iraq - 250M Papers, No Paywall
Why I built this I'm Ehsan from Baghdad, Iraq. At my university, accessing research is...