This document provides an overview of Vaadin, an open-source web application framework that allows developers to build rich web applications using pure Java code. Key points covered include: Vaadin uses a client-server architecture with a Java backend and GWT frontend; the app lifecycle and how UI instances are managed; common patterns for structuring apps using views and navigation; building responsive layouts; server push for real-time updates; data binding between fields and data models; and how to get started with Vaadin.