Thoughts

Notes on software engineering, distributed systems, and the future of human productivity.

Everything Around the Charge

The request that takes a payment is four lines. Everything that makes it safe to build a business on, so a retry never double-charges and a dropped webhook never loses an order, is the actual work. How I shaped Paybit's crypto payments API on the pattern Stripe proved.

A Payment Gateway That Never Touches the Money

A payment processor is, by definition, the thing that holds your money for a moment. Paybit is my attempt to delete that moment: a non-custodial crypto gateway that splits every payment on-chain, and for Bitcoin watches your own wallet instead of holding a key.

Sealed in Plain Sight

A price on a page is a fact someone paid to produce, sitting in public for anything to copy. I'm building my own anti-bot seal to change what that copy costs, and this is how it works.

Marking Media So Leaks Have a Name

How I'm building Protomarc, a system that marks images, video, audio, and PDF so a file can prove who owns it and, if it leaks, point back to whoever it was given to. A high-level look at the problem and the hard parts.

Understanding React Server Components

How React Server Components split an app across the server/client boundary, why they never hydrate, and the composition pattern for putting server content inside a client component.

Getting Started with Next.js 16

What actually changed in Next.js 16, from the "use cache" directive to Turbopack as the default bundler, the React Compiler on by default, proxy.ts in place of middleware, and native View Transitions.