Whenever computer people and humanities people meet up, the conversation drifts toward data. Computers become tools for data processing and data visualization. I like data, but that's a narrow view of what computers can do -- crunching numbers and tables.

Alan Kay often talks about how the Constitution is a system much like a computer program, which little objects that talk to each other. So why not turn it into a computer program? Your computer can give you much richer ways to 'read' this kind of text; it's not a story, and putting it in printed prose is sort of unnatural. You should be able to play around with parts of the system and viscerally understand how they affect each other. How does this system deal with population growth, for example?

This project is an attempt to fulfill Kay's vision and create an interactive version of the Constitution, one which fits the new medium of the computer.

A few interesting features:

  • Playing around with integration between the text and the simulation. Certain words are linked to parts of the simulation, so 1) you don't get lost in jargon while reading, and 2) the simulation isn't completely disconnected from the text.
  • The parameter tweaking mechanics: you can play around with Congressional elections and with population sizes, and the simulations are all connected -- like little windows into a government. For example, you can raise or lower the population of a state and the number of reps will change.
  • Time travel: you can move the simulations backward and forward in time, something you obviously can't do in real life


  • Project could be used most directly to learn about the Constitution at any level.
  • Could form the basis for a framework for building explanations of other interactive systems -- the infrastructure here is pretty general. (In fact, the core of the simulator is roughly based on a digital logic simulator.) Textbooks, blog posts, and so on for many kinds of systems deserve this treatment.
Share this project: