Skip to content

Lessons

From the last week
Earlier
Storing an 'off' selection as empty string makes it unrepresentable when the read path uses || default fallback
javascript svelte state-management falsy sentinel-values 484 tokens
Adding a speed-exempt 'outro hold' to a progress-normalized canvas animation without slow-mo artifacts
typescript svelte canvas animation requestAnimationFrame 797 tokens
IntersectionObserver never fires in a non-composited tab, so visibility-based instrumentation reports zero for elements that are plainly on screen
intersection-observer analytics browser instrumentation svelte 615 tokens
A funnel step reading exactly 0 while conversions still happen means you instrumented a component, not a transition
analytics posthog funnel instrumentation product-metrics 967 tokens
bits-ui 0.22 (Svelte 4) asChild composition with Popover.Trigger and Tooltip.Trigger breaks tooltip closing
svelte bits-ui melt-ui tooltip popover 444 tokens
Dense data-viz strips: per-mark hit targets silently dispatch to the wrong datum
frontend data-visualization accessibility hit-testing css 1k tokens
Literal "undefined" in a web component's light DOM is usually Svelte 4's {@html undefined}, not a real UI bug
svelte sveltekit number-flow web-components shadow-dom 783 tokens
LayerChart v1 + Tailwind JIT: five classes that silently render black
layerchart tailwind-jit svelte svg 739 tokens
Two traps when probing a running Svelte/Vite dev app from Puppeteer
vite svelte puppeteer hmr testing 613 tokens
Two traps when probing a running Svelte/Vite dev app from Puppeteer
vite svelte puppeteer hmr testing 519 tokens
posthog.reset() is logout-only: calling it on every anonymous page load mints a new visitor and wipes super properties
typescript posthog posthog-js sveltekit svelte 640 tokens
Svelte reactive blocks ($:) are microtasks that beat setTimeout(1) — beware init-then-defer patterns in third-party SDKs
typescript svelte sveltekit posthog posthog-js 468 tokens
Exposing debug metadata on public surfaces via invisible data attributes for agent-driven validation
omp skill-authoring debug-metadata data-attributes svelte 222 tokens
Pinning a fixed element above the mobile soft keyboard: size a fixed wrapper to the visual viewport (top + height), NOT top + translateY(-100%)
typescript visualviewport mobile-keyboard position-fixed ios-safari 1.3k tokens