cproducts / Utrecht
Building apps I actually
wanted to use.
I build small products from Utrecht. Right now I am working on a native Spotify client and keeping a League review tool archived for later.
liveEngine / 01View sourcechristosk92/fluent-gpu
FluentGpu
One signal. One node. No global rerender.
A from-scratch NativeAOT UI engine with signals-first reactivity, a retained scene, and a Direct3D 12 renderer. Use the controls below to inspect the actual update paths.
.NET 10Direct3D 12NativeAOTC#Signals
FluentGpu capability labframe 144.0 hz
01 / live capability
Compositor-only binding
A 90×/sec value binds straight to a node's transform — a write repaints pixels with zero render, reconcile, or layout.
- alloc
- 0 B
- reflow
- 0
CompositorBinding.csC# / source
1var x = UseFloatSignal(0.5f);2 3new BoxEl {4 Width = 200,5 Height = 8,6 Transform = Prop.Of(() =>7 Affine2D.Translation(x.Value * 200f, 0f)),8};9 10x.Value = pointerX;11// one node → composite; no render or layoutlive binding / transform.x
Drag the signal. The retained grid never reflows.
render
0
layout
0
alloc
0 B
x 76 px
render
reconcile
layout
composite
input → signal → retained scene → D3D1201 / 05
Latest writing
all posts ->- May 05, 2026I built a Microsoft Store-style hero carousel for WaveeA dev diary of one long session — shaders, trackpad weirdness, snap physics, and trying to match the Microsoft Store's hero in WinUI 3.
- May 01, 2026Hello, cproducts.Why this site exists and what I want to use it for.
- Apr 20, 2026On reimplementing Spotify, in public.Why Wavee talks to Spotify itself instead of wrapping the official app.

