Blog

Shipping notes, product decisions, and technical experiments from real-world builds.

Five pivots in seven months, and the week two competitors shipped my roadmap

Avocado Studio started as a chat box that rewrote HTML. Seven months and five pivots later, it's an assistant that lives inside your site, reads your Search Console and your Drive, and edits through your own components. Then Webflow and Fimo launched agents for websites within six days of each other. The story so far, and where we stand.

An AI email builder: drag-and-drop canvas, design assistant in the sidebar

A weekend experiment porting my site-editor architecture to marketing emails — drag-and-drop blocks, an AI design assistant, react.email under the hood. Shared Zod schemas let the canvas and the planner stay in lockstep.

Native AI editing for Puck, the open-source visual page builder for React

Puck is the open-source visual drag-and-drop page builder for React — 12k+ GitHub stars, a clean plugin API, and the one the community has rallied around. Avocado Studio plugs into it natively: visual editing on the canvas, AI chat in the sidebar, both producing the same operations through the same orchestrator. No extra integration work for the site.

Building Avocado Studio: an AI editor that doesn't break your website

The enterprise DXPs are racing to ship agentic editing. I'm building an open, self-hostable alternative — here's what I've learned so far.

I wanted to find farm stays in Italy. Google Maps wasn't enough.

Planning a family trip to Puglia, I hit a wall with Google Maps. So I built a pipeline that searches, deduplicates, and maps places automatically.

The story behind my AI site editor

A personal R&D experiment: what happens when you point Claude Code and Codex at the question 'what if you could just tell a website what to change?' and let them build for a few months.

Using Gemini Nano — product learnings

What changed when I moved Gemini Nano from demo mode into real user workflows.

Streaming edits into iframe

What actually works when you want AI output to feel live inside a visual editor.

Why JSON breaks LLM streaming

Strict JSON output looks clean on paper. The moment you try to parse it token-by-token, you find out how many ways an LLM can hand you a half-finished object.

AI editor UX: chat vs properties

Chat feels magical early, but property panels keep teams precise once complexity grows.