diff --git a/README.md b/README.md
index d0e046a833fb432f85531aeaed7d179f37f82ca7..fe6079b6223e71ca685cb6715e2f5869fbddde30 100644
--- a/README.md
+++ b/README.md
@@ -25,3 +25,42 @@ backend services.
 One such application that consumes OpenID Connect tokens is the [Kubernetes](
 http://kubernetes.io/) API server, allowing dex to provide identity for any
 Kubernetes clusters.
+
+## Getting started
+
+dex requires a Go installation and a GOPATH configured. Clone it down the
+correct place, and simply type `make` to compile dex.
+
+```
+git clone https://github.com:coreos/dex.git $GOPATH/src/github.com/coreos/dex
+cd $GOPATH/src/github.com/coreos/dex
+make
+```
+
+dex is a single, scalable binary that pulls all configuration from a config
+file (no command line flags at the moment). Use one of the config files defined
+in the `examples` folder to start up dex with an in-memory data store.
+
+```
+./bin/dex serve examples/config-dev.yaml
+```
+
+dex allows OAuth2 clients to be defined statically through the config file. In
+another window, run the `example-app` (an OAuth2 client). By default this is
+configured to use the client ID and secret defined in the config file.
+
+```
+./bin/example-app
+```
+
+Then to interact with dex, like any other OAuth2 provider, you must first visit
+a client app, then be prompted to login through dex. This can be achieved using
+the following steps:
+
+NOTE: The UIs are extremely bare bones at the moment.
+
+1. Navigate to http://localhost:5555/ in your browser.
+2. Hit "login" on the example app to be redirected to dex.
+3. Choose the "mock" option to login as a predefined user.
+4. Approve the example app's request.
+5. See the resulting token the example app claims from dex.