Mavo is a language that lets anyone turn a static HTML document into a fully functioning reactive web application with data presentation, editing, storage and lightweight computation, all without writing a single line of Javascript or other programming code.

Many people can author static web pages with HTML and CSS but find it hard or impossible to program persistent, interactive web applications. Our research shows that for a broad class of CRUD (Create, Read, Update, Delete) applications, this gap can be bridged. Mavo extends the declarative syntax of HTML to describe Web applications that manage, store and transform data. Using Mavo, authors with basic HTML knowledge define complex data schemas implicitly as they design their HTML layout. They need only add a few attributes and expressions to their HTML elements to transform their static design into a persistent, data-driven web application whose data can be edited by direct manipulation of the content in the browser. We evaluated Mavo with 20 users who marked up static designs—some provided by us, some their own creation—to transform them into fully functional webapplications. Even users with no programming experience were able to quickly craft Mavo applications.