Work / Lead With Intelligence

Most contact forms are just a slower inbox

2026 /

  • Laravel
  • PHP
  • Vue
  • Multi-tenant

Name, email, message, submit. Thank you, we will be in touch.

We will not be in touch. That form is a slower inbox with extra steps, and I say that as somebody who had exactly that form on his own site for years.

Think about what actually happens when somebody walks into an office instead. The person at the front desk does not hand you a blank sheet of paper. They ask what you are here for, and then the next thing they ask depends entirely on what you just said. By the time you sit down, somebody knows whether you need ten minutes or a week.

So I built that. It started small, as a multi step form on my agency site, an Astro page with a Cloudflare Worker doing the thinking behind it. Ask a question, read the answer, pick the next question based on it, score how serious this inquiry actually is, and route it accordingly instead of dumping everything into one pile.

It worked well enough that I wanted it on other people’s sites, and that is where it fell over. Not the logic, the boundaries. A Worker holding one site’s conversation is fine. The moment there are two customers you need tenant isolation, you need versioning so editing a live conversation does not change what somebody is halfway through answering, and you need an actual dashboard so a customer can build their own flow without opening a pull request against my repo.

That is a different application, so I rebuilt it as one. Lead With Intelligence is a multi tenant Laravel app with owner and member roles, a builder for the conversation itself, publishing and versioning, and an embeddable widget that drops onto any site regardless of what that site is built with.

The rebuild taught me the thing I keep relearning: the prototype is never the product, and the gap between them is almost never the clever part. The clever part ported over in an afternoon. What took the time was everything that makes it safe for a second customer to exist.

It runs locally in about five minutes on Docker if you want to poke at it, seeders and all. The hosted demo is next on my list, right after I stop adding things to the list.