RSSAmplifier

Blog

Jovi De Croock's Blog

Posts about web development, engineering, and thoughts.

jovidecroock.comRSS feed ↗33 posts

Latest posts

Making Referential Stability a Type

What happens when we stop treating referential stability as a linting heuristic and start carrying it through React and Preact as a type-level proof.

Async hydration in Preact

How Preact resumes hydration across Suspense boundaries, why useId made that hard, and how streaming changes the tradeoffs.

Fed up with Belgium

A country drowning in debt decides the problem is the people still willing to build in it. A personal account of paying gladly for almost a decade, and the moment that changed.

Two Places to Stop a Bad Release

How Drydock uses npm staged publishing and GitHub release gates to review the package artifact before it can ship.

Hardening publishing & consuming

A practical look at reducing blast radius in npm publishing workflows — environment-gated OIDC publishing, limiting manual access, and what consumers can do on their end.

Bridging the Server-Client Boundary with Signals

How mixed-signals turns server-side Preact Signals into real-time shared state across clients, and what that can look like in tech like Cloudflare Durable Objects

I have changed my mind about GraphQL

Boilerplate became cheap, but GraphQL still wins when a durable schema contract matters across teams and clients.

Letting LLMs Debug Signal Lifecycles

How we turned Vite into a local debugging API so an LLM can inspect signal updates, page events, and network context while driving the browser.

Thinking About Effect Subscriptions

Understanding how effect automatically tracks signal dependencies and the edge cases where you need to be intentional about subscriptions.

Why Computed Signals Matter

Understanding the critical difference between using signal values directly and wrapping them in computeds for optimal performance.

Debugging signals

Understanding how to debug signals-based state changes and visualize the dependency graph.

The Browser Has Everything You Need

Stop treating SPAs and SSR as opposing paradigms. The browser already loads resources in parallel but you have to use it.

State and rerenders

Exploring the paradigm shift from 'render where you create state' to 'render where you use state'.

GraphQL Myths

Common misconceptions about GraphQL and how persisted operations address them.

Beyond Hooks, why Signals and State Models

Exploring how Preact Signals promote better separation of concerns through dedicated state models.

The GraphQL Asterisk Problem: When Benefits Come with Caveats

An exploration of the trade-offs and considerations when using GraphQL and its alternatives.

Tracking context

Signals and the way they register on tracking contexts within your application.

Child diffing, with offsets

In Preact 10.16 we drastically changed how we diff children in Preact, let's take a look at how it works.

Signals, pull-based values

Let's look at how signals can offer wins over hooks.

Fragments in VDOM

Fragments, a seemingly convenient subject isn't all that straight-forward.

Surgical Rendering with any API

A deep dive into how signals can optimize rendering performance across various API types.

GraphQL's missing feature

The concept of fragment composition is great but there's a fundamentally missing feature to make it feel great

Unreliable vendors

What can we do to prevent our applications getting taken down by third parties, and if we do go down, how can we optimise for recovery.

GraphQL Caching Abstract Types

A quick exploration of how a client-side cache looks at abstract and concrete types in GraphQL.

GraphQL Development Workflow

An opinionated development workflow I have enjoyed using when it comes to GraphQL.

GraphQL Persisted Operations

Persisted operations are a way to introduce caching and additional security to your GraphQL Endpoint.

Unique identifier in Preact

Getting unique tree-identifiers consistent across server and client.

Browser timings

When exploring a bug in Preact we came across a few quirks with regards to (micro)ticks and events.

Controlled inputs

Controlled and uncontrolled inputs have always been a big subject, what does it actually mean, to be (un)controlled?

Hydration in Preact

We see a lot of talk about hydration, what is it and where is it applied?

State and VDOM

We often talk about state in context, ... but this can be a footgun, let's take a closer look at how library authors bypass this.

Suspense, data and SSR

How do we handle Asynchronous data in a situation where it feels the runtime is idle, how does Suspense tie into this and extending into ssr.

Virtual Dom optimizations

As one of the core maintainers of Preact I think a lot about VDOM and how to optimize the common actions of library-consumers.