El desarrollo inició como un adaptador sobre el framework web de código abierto Millstone 3, lanzado en el año 2002.
Al mismo tiempo, el producto cambió a la licencia de código abierto Apache License 2.0.
En el lado del cliente, Vaadin Flow está construido sobre los estándares de Componentes Web.
La comunicación cliente-servidor es manejada automáticamente por medio de WebSocket o HTTP con mensajes JSON ligeros que actualizan ambos, la IU en el navegador y el estado en el servidor.
Las vistas son creadas usando clases Java que implementan algún otro componente IU (propio o incluido en el framework).
Estas clases son anotadas con @Route para exponerlas al navegador por medio de una URL específica.