Writing
Journal.
Notes on ecommerce, CRO, development, and whatever else I'm working through.
How an AI-assisted design sprint turned into a full design system, a soft summer aesthetic, and a growing list of old projects I now need to fix.
A step-by-step guide to redeploying an ASP.NET Core MVC application with MySQL on Fly.io, ensuring a smooth update process.
Lessons learned while creating a dynamic A/B Test Showcase using Next.js, Tailwind CSS, and TypeScript.
A deep dive into resolving outdated dependencies, broken aliases, and Parcel v2 migration issues while debugging a JavaScript build failure.
Solving the challenge of maintaining a persistent flyout menu inside a dynamic, auto-rotating carousel while ensuring a smooth user experience.
A deep dive into debugging Slick Slider when ghost slides persist on real mobile devices. Learn how to fully remove unwanted images and ensure Slick updates properly.
What the CRO engineer title actually means — and what it looks like day to day when you're the technical half of the equation.
Screenshots, AI analysis, and cropped recommendation pairs — automatically. Here's how I built the report generator and what broke along the way.
Running tests on multiple platforms simultaneously sounds fine until you realize they're contaminating each other's data.
Convert was evaluating DOM conditions before the page was ready. Here's how a MutationObserver and one GTM variable fixed it.
At some point a spreadsheet stops being a system and starts being a liability. Here's what I built instead.