Blog

Learning, Building, and
Documenting

Insights and experiences from my journey as a developer—exploring ideas,
overcoming challenges, and sharing lessons learned along the way.

Adapt the library, don't upgrade the framework
July 5, 2026 8 min read

Adapt the library, don't upgrade the framework

web3-react v6 couldn't give me the Magic login I needed, and v8 was a ground-up rewrite. So I wrapped magic-sdk in v6's AbstractConnector instead of migrating the whole app — a backported connector, and the Anti-Corruption Layer pattern.

Read more
  • architecture
  • javascript
  • webdev
  • typescript
Why Date.now() Is Still Wrong
June 27, 2026 5 min read

Why Date.now() Is Still Wrong

Deriving a countdown from Date.now() fixes the render loop — but Date.now() is device time, and device time isn't necessarily the clock your app should trust. Server-time sync, monotonic clocks, and a tiny library.

Read more
  • javascript
  • frontend
  • ntp
  • react
Why Your Countdown Timer Lies After the Tab Goes Idle
June 20, 2026 8 min read

Why Your Countdown Timer Lies After the Tab Goes Idle

A countdown showed garbage after a tab sat in the background — but only when nobody was watching. The cause was background-tab timer throttling; the real bug was accumulating time instead of deriving it.

Read more
  • javascript
  • frontend
  • debugging
  • browsers
Your list is a stream, not a snapshot
July 1, 2026 9 min read

Your list is a stream, not a snapshot

Offset pagination quietly duplicates and skips rows the moment your data changes underneath you. Why LIMIT/OFFSET breaks on live lists, how cursor (keyset) pagination fixes it, and where virtualization fits — with a playground you can drive.

Read more
  • javascript
  • webdev
  • databases
  • frontend