Henry Dowling's Blog

No code got the problem right and the solution wrong

TLDR:

  1. There's an irreducible amount of complexity inherent in the development of any reasonably useful piece of software
  2. Apps = boilerplate + context
  3. No-code hid too much complexity, vibe coding doesn't hide enough

The basic premise of no-code is to allow anyone to write software by abstracting away the boilerplate parts—setting up a db, hosting a server, wiring up email—and letting users define behaviour through a simple UI rather than code. (See here, I love this piece)

I was an early believer. In 2020, I took a leave of absence from college to join the early team at Bubble. I helped to build the most powerful no-code framework on the planet, used by millions of entrepreneurs.

Unfortunately, no-code hasn't really lived up to its promise. In this post I'll share some thoughts about why, and make some recommendations on how vibe-coding platforms should take inspiration from no-code.

Why did no-code not work?

Applications are complex Every no-code app requires custom code There's a steep learning curve Vibe-coding is a much better experience

Learnings from no-code

Keep

  1. Abstracting away the true boilerplate complexity of building software.
    1. Software is context + boilerplate. There's a lot of boilerplate inherent to software development still— e.g. package management, secrets management, hosting, security.
    2. Current SOTA "vibe coding" tools lag behind no-code frameworks on this dimension.
  2. Visual WYSIWYG editing
    1. It's easier to create pixel perfect designs with a figma-like editor than by prompting a chat window.
    2. The highest-throughput communication medium for visuals is visuals, not descriptions of designs.

Leave behind

  1. Hiding implementations
    1. It was a bad idea to hide implementations of things like "send email". This was done in the name of simplicity, but in fact inevitably causes hidden undefined behavior.
  2. New frameworks and languages
    1. AI builds Node/React apps better because the training data is abundant; popularity begets more data, which begets better AI performance and greater usage.