diff --git a/modules/gerritbot/files/gerritbot_channel_config.yaml b/modules/gerritbot/files/gerritbot_channel_config.yaml
index 9732c6046d..c74e4323b3 100644
--- a/modules/gerritbot/files/gerritbot_channel_config.yaml
+++ b/modules/gerritbot/files/gerritbot_channel_config.yaml
@@ -38,6 +38,7 @@ openstack-infra:
       - openstack-infra/reviewstats
       - openstack-infra/statusbot
       - openstack-infra/storyboard
+      - openstack-infra/storyboard-webclient
       - openstack-infra/zuul
       - openstack-infra/zuul-packaging
       - openstack/requirements
@@ -439,6 +440,7 @@ storyboard:
       - x-vrif-minus-2
     projects:
       - openstack-infra/storyboard
+      - openstack-infra/storyboard-webclient
     branches:
       - master
 
diff --git a/modules/openstack_project/files/jenkins_job_builder/config/projects.yaml b/modules/openstack_project/files/jenkins_job_builder/config/projects.yaml
index 8232cf7028..40a42f8b09 100644
--- a/modules/openstack_project/files/jenkins_job_builder/config/projects.yaml
+++ b/modules/openstack_project/files/jenkins_job_builder/config/projects.yaml
@@ -1041,6 +1041,19 @@
       - pypi-jobs
 
 
+- project:
+    name: storyboard-webclient
+    github-org: openstack-infra
+    node: precise
+    tarball-site: tarballs.openstack.org
+
+    jobs:
+      - 'storyboard-webclient-release-{branch-designator}':
+          branch-designator: 'master'
+      - 'storyboard-webclient-release-{branch-designator}':
+          branch-designator: 'branch'
+
+
 - project:
     name: swift
     github-org: openstack
diff --git a/modules/openstack_project/files/jenkins_job_builder/config/storyboard.yaml b/modules/openstack_project/files/jenkins_job_builder/config/storyboard.yaml
new file mode 100644
index 0000000000..4d7ef73e89
--- /dev/null
+++ b/modules/openstack_project/files/jenkins_job_builder/config/storyboard.yaml
@@ -0,0 +1,53 @@
+- job:
+    name: gate-storyboard-webclient-unittests
+    node: bare-precise
+
+    builders:
+      - gerrit-git-prep
+      - shell: |
+          ./bin/bootstrap.sh
+          ./bin/build.sh
+    publishers:
+      - console-log
+      - coverage-log
+      - scp:
+          site: 'static.openstack.org'
+          files:
+            - target: 'logs/$LOG_PATH'
+              source: './reports/**'
+              keep-hierarchy: true
+              copy-after-failure: true
+
+- job-template:
+    name: 'storyboard-webclient-release-{branch-designator}'
+    node: bare-precise
+
+    builders:
+      - gerrit-git-prep
+      - shell: |
+          ./bin/bootstrap.sh
+          ./bin/build.sh
+      - shell: |
+          #!/bin/bash -xe
+
+          BRANCH={branch-designator}
+          ARCHIVE_NAME={name}
+          if [ "$BRANCH" != "master" ] ; then
+              BRANCH_PATH=`echo $ZUUL_REFNAME | tr / -`
+              ARCHIVE_NAME={name}-$BRANCH_PATH
+          fi
+          tar -czf $ARCHIVE_NAME.tar.gz dist/
+          mv $ARCHIVE_NAME.tar.gz dist/
+    publishers:
+      - console-log
+      - coverage-log
+      - scp:
+          site: 'static.openstack.org'
+          files:
+            - target: 'logs/$LOG_PATH'
+              source: './reports/**'
+              keep-hierarchy: true
+              copy-after-failure: true
+      - tarball:
+          project: '{name}'
+          site: '{tarball-site}'
\ No newline at end of file
diff --git a/modules/openstack_project/files/zuul/layout.yaml b/modules/openstack_project/files/zuul/layout.yaml
index 5cbfed4c91..4b61b15c33 100644
--- a/modules/openstack_project/files/zuul/layout.yaml
+++ b/modules/openstack_project/files/zuul/layout.yaml
@@ -2602,6 +2602,16 @@ projects:
           - post-mirror-python27
           - post-mirror-python33
 
+  - name: openstack-infra/storyboard-webclient
+    check:
+      - gate-storyboard-webclient-unittests
+    gate:
+      - gate-storyboard-webclient-unittests
+    post:
+      - storyboard-webclient-release-branch
+    release:
+      - storyboard-webclient-release-master
+
   - name: openstack-infra/tripleo-ci
     check:
       - gate-noop
diff --git a/modules/openstack_project/templates/review.projects.yaml.erb b/modules/openstack_project/templates/review.projects.yaml.erb
index c7b5b6c4b7..e6028ba0d7 100644
--- a/modules/openstack_project/templates/review.projects.yaml.erb
+++ b/modules/openstack_project/templates/review.projects.yaml.erb
@@ -127,7 +127,11 @@
   description: Infrastructure status update IRC bot
 - project: openstack-infra/storyboard
   upstream: git://github.com/ttx/storyboard.git
-  description: OpenStack Task Tracking System
+  description: OpenStack Task Tracking API
+- project: openstack-infra/storyboard-webclient
+  acl-config: /home/gerrit2/acls/openstack-infra/storyboard.config
+  upstream: git://github.com/krotscheck/storyboard-webclient.git
+  description: OpenStack Task Tracking Browser Client
 - project: openstack-infra/tripleo-ci
   description: CI for the tripleo project
   upstream: https://github.com/toci-dev/toci