Skip to content
Joshua Uduma
← Selected work

01 — In development

Studio Framer

A signals-based reactive runtime for fine-grained frontend updates.

A reactive frontend framework built on signals, with fine-grained updates instead of a virtual DOM.

Role
Creator & maintainer
Year
2025 — present
Status
In development
TypeScriptSignalsCustom runtime

Problem

Bolting a virtual DOM onto a framework built from primitives would have obscured how updates happen. I wanted reactivity to be explicit, traceable and cheap.

Approach

Studio Framer is built on signals: state is a value with subscribers, derived values recompute lazily, and effects run only when their inputs change. Its small runtime keeps updates targeted and predictable.

Key features

  • 01Fine-grained signals with derived state and effects
  • 02Reactive runtime for frontend applications
  • 03No virtual DOM — updates target the nodes that actually changed
  • 04Small, dependency-free core

Architecture & decisions

  1. Signals, not diffing

    A signal tracks its dependents and notifies only those. There is no tree walk on update, so cost scales with what changed rather than with page size.

  2. Lazy derivation

    Computed values are pulled on read and cached until a dependency invalidates them, which keeps chained derivations from recomputing eagerly.

  3. A compiler-friendly runtime

    The public API is deliberately small, keeping integrations direct instead of relying on a generic runtime bridge.

Outcome

Studio Framer gave me a working mental model of reactivity at the level of subscriptions and scheduling — the same reasoning I now apply when debugging state problems in React and other frameworks. It remains in active development.