diff --git a/deploy-application.md b/deploy-application.md
index 7e47adcdff..cebe69d84d 100644
--- a/deploy-application.md
+++ b/deploy-application.md
@@ -1,6 +1,6 @@
-# Deploy an application thru UCP
+# Deploy an application onto UCP
-Intro 1-2 paras, page purpose, intended user, list steps if page is tutorial.
+In this quickstart, you learn how to deploy multi-container applications onto UCP.
+While UCP is intended for deploying multi-container applications, the workflow
+for developing them begins outside of the UCP installation. This page explains
+the recommended workflow for developing applications. Then, it shows you
+step-by-step how to deploy the fully developed application.
+
+The sample is written for a novice network administrator. You should have a
+basic skills on Linux systems and `ssh` experience. Some knowledge of Git is
+also useful but not strictly required.
+
+>**Note**: The command examples in this page were tested for a Mac OSX environment.
+If you are in another, you may need to adjust the commands to use analogous
+commands for you environment.
## Understand the development workflow
- Diagram of expected workflow
-## Step 1: Review the Compose file node requirements
-* images
-* nodes
-* volumes
-* networks
+UCP is at the end of the application development workflow. You should only
+deploy, or allowed to be deployed, individual containers or multi-container
+applications that have been systematically developed and tested.
-## Step 2: Add nodes for supporting application
+Your development team should develop in a local environment using the Docker
+open source software (OSS) components. These components include:
-tbd
+* Docker Engine
+* Docker Machine (if development is on Mac or Windows)
+* Docker Swarm
+* Docker Compose
+* Docker Hub (for publicly available images)
-## Step 3: Import Compose file into UCP
+Developing an application can include using public images from Docker Hub and
+developing new custom images. If there are multiple containers involved, the
+team should configure and test container port configurations. For applications
+that require them, the team may need to create Docker container volumes and
+ensure they are of sufficient size.
-tbd
+Once the team has developed a microservice application, they should test it
+locally at scale on a Swarm cluster. The Swarm documentation includes detailed
+documentation about [troubleshooting a microservice
+application](https://docs.docker.com/swarm/scale/05-troubleshoot/).
-## Step 4: Scaling an application
-* existing load balancer
-* adding a load balancer
+The output of application development should be a Docker Compose file and a set
+of images ready for deployment. These images can be stored in Docker Hub. If
+your company is using Docker Trusted Registry, the team may want to or be
+required to store their application images in the company registry. The team
+must ensure store the images in an accessible registry account.
-## Step 4: Verify the deployment
-* Dashboard
-* Images
-## Step 5: Review UCP logs
+## Step 1. Before you begin
-tbd
+This example requires that you have an installed UCP deployment and that you have
+enabled container networking
+on that installation. Take a moment to check this requirement.
-## Troubleshooting section
+When deploying an application to UCP, you work from a local environment using
+the UCP client bundle for your UCP user. You should never deploy from the
+command-line while directly logged into a UCP node. The deploy on this page,
+requires that your local environment includes the following software:
+
+* Git
+* Docker Engine
+* Docker Compose
+
+While not always the case, the expectation is your local environment is a
+Windows or Mac machine. If your personal machine is a Linux machine that Docker
+Engine supports, such a configuration works too.
+
+### Windows or Mac prerequisites
+
+Because Docker Engine and UCP both rely on Linux-specific features, you can't
+run natively in Mac or Windows. Instead, you must install the Docker Toolbox
+application. Docker Toolbox installs:
+
+* Docker Machine for running `docker-machine` commands
+* Docker Engine for running the `docker` commands
+* Docker Compose for running the `docker-compose` commands
+* Kitematic, the Docker GUI
+* a Quickstart shell preconfigured for a Engine command-line environment
+* Oracle VirtualBox
+
+These tools enable you to run Engine CLI commands from your Mac OS X or Windows
+shell.
+
+Your Mac must be running OS X 10.8 "Mountain Lion" or higher to install Toolbox.
+To check your Mac OS X version, see the Docker Engine
+getting started on Mac.
+
+On Windows, your machine must have a 64-bit operating system running Windows 7 or
+higher. Additionally, you must make sure that virtualization is enabled on your
+machine. For information on how to check for virtualization, see the Docker
+Engine getting started on Windows.
+
+If you haven't already done so, make you have installed Docker Toolbox on your
+local Mac OS X or Windows machine. After a successful installation, continue
+to the next step.
+
+### About a Linux environment
+
+If your local environment is Linux, make sure you have installed the correct
+Docker Engine for your Linux OS. Also, make sure you have installed Docker
+Compose.
+
+## Step 2. Get the client bundle and configure a shell
+
+In this step, you download the *client bundle*. To issue commands to a UCP node,
+your local shell environment must be configured with the same security
+certificates as the UCP application itself. The client bundle contains the
+certificates and a script to configure a shell environment.
+
+Download the bundle and configure your environment.
+
+1. If you haven't already done so, log into UCP.
+
+2. Choose **admin > Profile** from the right-hand menu.
+
+ Any user can download their certificates. So, if you were logged in under a
+ user name such as `davey` the path to download bundle is **davey >
+ Profile**. Since you are logged in as `admin`, the path is `admin`.
+
+3. Click **Create Client Bundle**.
+
+ The browser downloads the `ucp-bundle-admin.zip` file.
+
+4. Open a shell on your local terminal.
+
+5. If you are on Mac or Windows, ensure your shell does not have an active Docker Machine VM.
+
+ $ docker-machine ls
+ NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
+ moxie - virtualbox Stopped Unknown
+ test - virtualbox Running tcp://192.168.99.100:2376 v1.10.1
+
+ While Machine has a stopped and running host, neither is active in the
+ shell. You know this because neither host shows an * (asterisk) indicating
+ the shell is configured.
+
+6. Create a directory to hold the deploy information.
+
+ $ mkdir deploy-app
+
+7. Inside of a `deploy-app` create a directory to hold your UCP bundle files.
+
+ $ mkdir deploy-app/bundle
+
+8. Change into the `deploy-app/bundle` directory and move the downloaded bundle into it.
+
+ $ cd deploy-app/bundle
+ $ mv ~/Downloads/ucp-bundle-admin.zip .
+
+9. Unzip the client bundle.
+
+ $ unzip bundle.zip
+ Archive: bundle.zip
+ extracting: ca.pem
+ extracting: cert.pem
+ extracting: key.pem
+ extracting: cert.pub
+ extracting: env.sh
+
+10. Change into the directory that was created when the bundle was unzipped
+
+11. Execute the `env.sh` script to set the appropriate environment variables for your UCP deployment
+
+ $ source env.sh
+
+12. Verify that you are connected to UCP by using the `docker info` command.
+
+ $ docker info
+ Containers: 11
+ Running: 11
+ Paused: 0
+ Stopped: 0
+ Images: 22
+ ...