Skip to content

ZFLI Works

    • About
    • Changelog
    • Projects
  • Parsing a real-world CSV export: five assumptions that break

    The header wasn’t on line 1, a BOM was glued to the first column name, and…

  • Zustand persist in Next.js: the hydration mismatch, and what version is actually for

    “use client” does not mean “not server-rendered”, which is why a persisted Zustand store causes a…

  • Handling webglcontextlost with a permanent poster fallback

    A WebGL scene can fail three different ways, and one of them fires no event at…

  • Inferring a CSV’s UTC offset by matching fill prices against 5-minute candles

    A trade CSV had timestamps but no timezone. Instead of guessing, I used price as ground…

ZFLI Works — build notes and debugging write-ups from real projects.

Portfolio project work, not client work or employment.

Loading Comments...