diff --git a/client/catalog-dev/js/autocomplete.js b/client/catalog-dev/js/autocomplete.js
index d6987e2..677e486 100644
--- a/client/catalog-dev/js/autocomplete.js
+++ b/client/catalog-dev/js/autocomplete.js
@@ -17,7 +17,11 @@
   }
   jQuery.fn.extend({
     /**
-     * @param {Array<String>|getSuggestions}
+     * This setups up the default autocomplete functionality on an object.
+     * Using either a list of options or supplying a function that returns them,
+     * auto complete will create a menu for users to navigate and select a
+     * valid option.
+     * @param {Array<String>|function(String, function(Array<String>))} suggestions
      */
     autoComplete: function(suggestions) {
 
@@ -174,8 +178,3 @@
   });
 })();
 
-/**
- * @callback getSuggestions
- * @param {string} current - The current value of the input field.
- * @param {function}
- */
diff --git a/client/gulpfile.js b/client/gulpfile.js
index 53e2f10..cc79d11 100644
--- a/client/gulpfile.js
+++ b/client/gulpfile.js
@@ -1,6 +1,54 @@
 var gulp = require('gulp');
+var minifyHTML = require('gulp-minify-html');
+var minifyCSS = require('gulp-minify-css');
+var sourcemaps = require('gulp-sourcemaps');
+var closure = require('gulp-closure-compiler-service');
+var clean = require('gulp-clean');
 
-gulp.task('default, function() {
+gulp.task('minify-html', function() {
+
+  return gulp.src(['./catalog-dev/index.html'])
+    .pipe(minifyHTML())
+    .pipe(gulp.dest('./catalog/'));
 
 });
 
+gulp.task('minify-js', function() {
+
+  return gulp.src('./catalog-dev/js/*.js')
+    .pipe(sourcemaps.init())
+    .pipe(closure())
+    .pipe(sourcemaps.write('../../catalog-dev/js'))
+    .pipe(gulp.dest('./catalog/js'));
+
+});
+
+gulp.task('minify-css', function() {
+
+  return gulp.src(['./catalog-dev/css/style.css', './catalog-dev/css/cubeLoader.css'])
+    .pipe(sourcemaps.init())
+    .pipe(minifyCSS())
+    .pipe(sourcemaps.write('../../catalog-dev/css'))
+    .pipe(gulp.dest('./catalog/css'));
+
+});
+
+gulp.task('copy', function() {
+
+  gulp.src('./catalog-dev/config.json')
+    .pipe(gulp.dest('./catalog'));
+
+  gulp.src('./catalog-dev/css/*.min.css')
+    .pipe(gulp.dest('./catalog/css'));
+
+});
+
+gulp.task('clean', function(){
+
+  return gulp.src('./catalog', {read: false})
+    .pipe(clean());
+
+});
+
+gulp.task('default', ['minify-html', 'minify-css', 'minify-js', 'copy']);
+
diff --git a/client/package.json b/client/package.json
index f15889c..dd76077 100644
--- a/client/package.json
+++ b/client/package.json
@@ -15,6 +15,11 @@
   },
   "devDependencies": {
     "gulp": "^3.9.0",
+    "gulp-clean": "^0.3.1",
+    "gulp-closure-compiler-service": "^0.5.0",
+    "gulp-minify-css": "^1.2.1",
+    "gulp-minify-html": "^1.0.4",
+    "gulp-sourcemaps": "^1.5.2",
     "http-server": "^0.8.0"
   }
 }
