Alloy is a language for describing structures and a tool for exploring them. It has been used in a wide range of applications from finding holes in security mechanisms to designing telephone switching networks.

Déjà Vu

Have you ever noticed that most applications are fundamentally the same? They just combine existing concepts (such as profiles, feeds and posts) in new ways. Déjà Vu is a new platform for rapid construction of complex applications by composing concepts. Because concepts are reused, new applications can be made at much lower cost.


Espalier (formerly Object Spreadsheets) is a new computational paradigm that combines the usability advantages of spreadsheets with SQL-like expressive power, providing a way to build a wide class of interactive applications more easily than with existing tools.


Gitless is an experimental version control system built on top of Git. Many people complain that Git is hard to use. We think the problem lies deeper than the user interface, in the concepts underlying Git. In this project, we apply the theory of concept design to analyze and redesign Git.

Rethinking Software Design

What is design thinking in the context of software? We're developing a new approach to software design that achieves usability and robustness by going deeper than the user interface.