diff --git a/getting-started/css/factory.css b/getting-started/css/factory.css
new file mode 100644
index 0000000..a71cd0d
--- /dev/null
+++ b/getting-started/css/factory.css
@@ -0,0 +1,123 @@
+.ribbon-box {
+    position: relative;
+}
+
+.factory-desc {
+    height: 75px;
+}
+
+.factory-category-example {
+    color: #ccc;
+}
+
+.factory-category-framework {
+    color: #87CEEB;
+}
+
+.factory-info {
+    text-align: center;
+    width: 100%;
+    margin-top: 20px;
+}
+
+.ribbon {
+    position: absolute;
+    right: -5px; top: -5px;
+    z-index: 1;
+    overflow: hidden;
+    width: 75px; height: 75px;
+    text-align: right;
+}
+.ribbon span {
+    font-size: 10px;
+    font-weight: bold;
+    color: #FFF;
+    text-transform: uppercase;
+    text-align: center;
+    line-height: 20px;
+    transform: rotate(45deg);
+    -webkit-transform: rotate(45deg);
+    width: 100px;
+    display: block;
+    background: #79A70A;
+    background: linear-gradient(#F79E05 0%, #8F5408 100%);
+    box-shadow: 0 3px 10px -5px rgba(0, 0, 0, 1);
+    position: absolute;
+    top: 19px; right: -21px;
+}
+.ribbon span::before {
+    content: "";
+    position: absolute; left: 0px; top: 100%;
+    z-index: -1;
+    border-left: 3px solid #8F5408;
+    border-right: 3px solid transparent;
+    border-bottom: 3px solid transparent;
+    border-top: 3px solid #8F5408;
+}
+.ribbon span::after {
+    content: "";
+    position: absolute; right: 0px; top: 100%;
+    z-index: -1;
+    border-left: 3px solid transparent;
+    border-right: 3px solid #8F5408;
+    border-bottom: 3px solid transparent;
+    border-top: 3px solid #8F5408;
+}
+
+.ribbon span a {
+    outline: none;
+    border: none;
+    color: white;
+}
+
+.factories-choice {
+    border: 1px solid #e3e3e3;
+    border-radius: 5px;
+}
+
+.factories-choice a {
+    border: none;
+    cursor: pointer;
+}
+
+.factories-choice .btn:hover, .btn:focus, .btn.focus {
+    color: inherit;
+}
+
+.factories-choice .dropdown-menu .divider {
+    margin: 0;
+}
+
+.factories-choice button {
+    outline: none;
+    line-height: 24px;
+
+}
+
+.factories-choice .btn {
+    outline: none;
+    background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);
+    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));
+    background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);
+    background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);
+    background-image: linear-gradient(to bottom, #ffffff, #e6e6e6);
+}
+
+.factories-filter-group {
+    text-align: right;
+}
+
+.factories-search-input {
+    height: 50px;
+    padding-left: 40px;
+}
+
+.factories-innerform {
+    float: left;
+    margin-left: 10px;
+    margin-top: -40px;
+    position: relative;
+    z-index: 2;
+    color: #e3e3e3;
+    font-size: 25px;
+}
\ No newline at end of file
diff --git a/getting-started/index.html b/getting-started/index.html
index d175429..dc4d24a 100644
--- a/getting-started/index.html
+++ b/getting-started/index.html
@@ -1,6 +1,6 @@
 
 <!doctype html>
-<html>
+<html ng-app="gettingStarted">
   <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
@@ -41,7 +41,10 @@
     <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
     <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300' rel='stylesheet' type='text/css'>
     <link href="../stylesheets/all.css" rel="stylesheet" />
+    <link href="css/factory.css" rel="stylesheet" />
+    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
+    <script src="scripts/factories.js"></script>
     <script src="../javascripts/bootstrap.min.js"></script>
 
     <!-- Equal Height for Content Script -->
@@ -172,317 +175,8 @@
    </div> <!-- /.row -->
    <!-- END_CUSTOM_WORKSPACE -->
 
+      <getting-started-factories></getting-started-factories>
 
-
-
-    <!-- START_CONTRIBUTION_REPOSITORIES -->
-   <div class="block">
-     <h2>Contribute to a Project</h2>
-   </div>
-
-   <div class="row">
-     <div class="col-md-4 col-sm-6">
-       <div class="border media">
-         <div class="media-left">
-           <img src="images/7pabc2kl40gb6yep.png" alt="Logo for Elasticsearch">
-         </div>
-         <div class="media-body">
-           <h4>Elasticsearch</h4>
-           <p class="small" style="height: 50px;">Open source, distributed, RESTful search engine.</p>
-         </div>
-         <a href="http://beta.codenvy.com/f?id=7pabc2kl40gb6yep" class="btn-gray80">Launch Workspace</a>
-       </div>
-     </div> <!-- /.col -->
-     <div class="col-md-4 col-sm-6">
-       <div class="border media">
-         <div class="media-left">
-           <img src="images/zia672875qiibfzv.png" alt="Logo for Generator Alfresco">
-         </div>
-         <div class="media-body">
-           <h4>Alfresco</h4>
-           <p class="small" style="height: 50px;">Open-source content management.</p>
-         </div>
-         <a href="http://beta.codenvy.com/f?id=zia672875qiibfzv" class="btn-gray80">Launch Workspace</a>
-       </div>
-     </div> <!-- /.col -->
-     <div class="col-md-4 col-sm-6">
-       <div class="border media">
-         <div class="media-left">
-           <img src="images/rp0k4m6gh6rzifmi.png" alt="Logo for Javaslang">
-         </div>
-         <div class="media-body">
-           <h4>Javaslang</h4>
-           <p class="small" style="height: 50px;">A functional library for Java 8+.</p>
-         </div>
-         <a href="http://beta.codenvy.com/f?id=rp0k4m6gh6rzifmi" class="btn-gray80">Launch Workspace</a>
-       </div>
-     </div> <!-- /.col -->
-     <div class="col-md-4 col-sm-6">
-       <div class="border media">
-         <div class="media-left">
-           <img src="images/lse9alc1que84k1y.png" alt="Logo for Sourcegraph">
-         </div>
-         <div class="media-body">
-           <h4>Sourcegraph</h4>
-           <p class="small" style="height: 50px;">Code intelligence for development teams.</p>
-         </div>
-         <a href="http://beta.codenvy.com/f?id=lse9alc1que84k1y" class="btn-gray80">Launch Workspace</a>
-       </div>
-     </div> <!-- /.col -->
-     <div class="col-md-4 col-sm-6">
-       <div class="border media">
-         <div class="media-left">
-           <img src="images/suloomuf7cvcfghn.png" alt="Logo for TomEE">
-         </div>
-         <div class="media-body">
-           <h4>TomEE</h4>
-           <p class="small" style="height: 50px;">Tomcat-based Java EE application server.</p>
-         </div>
-         <a href="http://beta.codenvy.com/f?id=suloomuf7cvcfghn" class="btn-gray80">Launch Workspace</a>
-       </div>
-     </div> <!-- /.col -->
-     <div class="col-md-4 col-sm-6">
-       <div class="border media">
-         <div class="media-left">
-           <img src="images/tdwv5klhq3zcuowr.png" alt="Logo for cfpio">
-         </div>
-         <div class="media-body">
-           <h4>cfp.io</h4>
-           <p class="small" style="height: 50px;">Simplify requesting papers for conferences.</p>
-         </div>
-         <a href="http://beta.codenvy.com/f?id=tdwv5klhq3zcuowr" class="btn-gray80">Launch Workspace</a>
-       </div>
-     </div> <!-- /.col -->
-   </div><!-- /.row -->
-  <!-- END_CONTRIBUTION_REPOS -->
-
-
-  <!-- START_RUN_SAMPLES -->
-   <div class="block">
-     <h2>Run a Tutorial / Sample</h2>
-   </div>
-
-   <div class="row">
-     <div class="col-md-4 col-sm-6">
-       <div class="border media">
-         <div class="media-left">
-           <img src="images/omriatu352kkthua.png" alt="Logo for Java + Maven">
-         </div>
-         <div class="media-body">
-           <h4>Java + Maven</h4>
-           <p class="small" style="height: 50px;">Hello world console app with auto-build and run.</p>
-         </div>
-         <a href="http://beta.codenvy.com/f?id=omriatu352kkthua" class="btn-gray80">Launch Workspace</a>
-       </div>
-     </div> <!-- /.col -->
-     <div class="col-md-4 col-sm-6">
-       <div class="border media">
-         <div class="media-left">
-           <img src="images/5use7stej9bi9mxd.png" alt="Logo for Java + Gradle">
-         </div>
-         <div class="media-body">
-           <h4>Java + Gradle</h4>
-           <p class="small" style="height: 50px;">Hello world console app with auto-build and run.</p>
-         </div>
-         <a href="http://beta.codenvy.com/f?id=5use7stej9bi9mxd" class="btn-gray80">Launch Workspace</a>
-       </div>
-     </div> <!-- /.col -->
-     <div class="col-md-4 col-sm-6">
-       <div class="border media">
-         <div class="media-left">
-           <img src="images/af9r928owfulum17.png" alt="Logo for Node.js">
-         </div>
-         <div class="media-body">
-           <h4>Node.js</h4>
-           <p class="small" style="height: 50px;">Hello world web app with auto-build and run.</p>
-         </div>
-         <a href="http://beta.codenvy.com/f?id=af9r928owfulum17" class="btn-gray80">Launch Workspace</a>
-       </div>
-     </div> <!-- /.col -->
-     <div class="col-md-4 col-sm-6">
-       <div class="border media">
-         <div class="media-left">
-           <img src="images/21w2nx87yto2xi1z.png" alt="Logo for C++">
-         </div>
-         <div class="media-body">
-           <h4>C++</h4>
-           <p class="small" style="height: 50px;">Hello world console app with auto-build and run.</p>
-         </div>
-         <a href="http://beta.codenvy.com/f?id=21w2nx87yto2xi1z" class="btn-gray80">Launch Workspace</a>
-       </div>
-     </div> <!-- /.col -->
-     <div class="col-md-4 col-sm-6">
-       <div class="border media">
-         <div class="media-left">
-           <img src="images/5ayat0naxlljn3p2.png" alt="Logo for PHP">
-         </div>
-         <div class="media-body">
-           <h4>PHP</h4>
-           <p class="small" style="height: 50px;">Hello world web app with auto-build and run.</p>
-         </div>
-         <a href="http://beta.codenvy.com/f?id=5ayat0naxlljn3p2" class="btn-gray80">Launch Workspace</a>
-       </div>
-     </div> <!-- /.col -->
-     <div class="col-md-4 col-sm-6">
-       <div class="border media">
-         <div class="media-left">
-           <img src="images/mo97t9pkaijr7q1c.png" alt="Logo for .NET">
-         </div>
-         <div class="media-body">
-           <h4>.NET</h4>
-           <p class="small" style="height: 50px;">Hello world console app on Linux with Mono.</p>
-         </div>
-         <a href="http://beta.codenvy.com/f?id=mo97t9pkaijr7q1c" class="btn-gray80">Launch Workspace</a>
-       </div>
-     </div> <!-- /.col -->
-     <div class="col-md-4 col-sm-6">
-       <div class="border media">
-         <div class="media-left">
-           <img src="images/m9ylnmjtmzvmq99i.png" alt="Logo for ASP.NET">
-         </div>
-         <div class="media-body">
-           <h4>ASP.NET</h4>
-           <p class="small" style="height: 50px;">Hello world web app on Linux with Mono.</p>
-         </div>
-         <a href="http://beta.codenvy.com/f?id=m9ylnmjtmzvmq99i" class="btn-gray80">Launch Workspace</a>
-       </div>
-     </div> <!-- /.col -->
-     <div class="col-md-4 col-sm-6">
-       <div class="border media">
-         <div class="media-left">
-           <img src="images/2i2ikikl4kif87l9.png" alt="Logo for Angular 2">
-         </div>
-         <div class="media-body">
-           <h4>Angular 2</h4>
-           <p class="small" style="height: 50px;">Official quick start tutorial.</p>
-         </div>
-         <a href="http://beta.codenvy.com/f?id=2i2ikikl4kif87l9" class="btn-gray80">Launch Workspace</a>
-       </div>
-     </div> <!-- /.col -->
-      <div class="col-md-4 col-sm-6">
-       <div class="border media">
-         <div class="media-left">
-           <img src="images/r6p0l1sfnwm99k94.png" alt="Logo for Spring">
-         </div>
-         <div class="media-body">
-           <h4>Spring</h4>
-           <p class="small" style="height: 50px;">Java Spring PetClinic web app example.</p>
-         </div>
-         <a href="http://beta.codenvy.com/f?id=r6p0l1sfnwm99k94" class="btn-gray80">Launch Workspace</a>
-       </div>
-     </div> <!-- /.col -->
-     <div class="col-md-4 col-sm-6">
-       <div class="border media">
-         <div class="media-left">
-           <img src="images/sz7uzyofb8olekkn.png" alt="Logo for Spring Boot">
-         </div>
-         <div class="media-body">
-           <h4>Spring Boot</h4>
-           <p class="small" style="height: 50px;">Java web app example for rapid development.</p>
-         </div>
-         <a href="http://beta.codenvy.com/f?id=sz7uzyofb8olekkn" class="btn-gray80">Launch Workspace</a>
-       </div>
-     </div> <!-- /.col -->
-    <div class="col-md-4 col-sm-6">
-       <div class="border media">
-         <div class="media-left">
-           <img src="images/07xzbw8pq5wn02y5.png" alt="Logo for TomEE">
-         </div>
-         <div class="media-body">
-           <h4>TomEE</h4>
-           <p class="small" style="height: 50px;">JAX-RS and Angular web app sample.</p>
-         </div>
-         <a href="http://beta.codenvy.com/f?id=07xzbw8pq5wn02y5" class="btn-gray80">Launch Workspace</a>
-       </div>
-     </div> <!-- /.col -->
-     <div class="col-md-4 col-sm-6">
-       <div class="border media">
-         <div class="media-left">
-           <img src="images/lemf30nh52rvsx42.png" alt="Logo for TomEE">
-         </div>
-         <div class="media-body">
-           <h4>TomEE</h4>
-           <p class="small" style="height: 50px;">Stateless Java bean sample app.</p>
-         </div>
-         <a href="http://beta.codenvy.com/f?id=lemf30nh52rvsx42" class="btn-gray80">Launch Workspace</a>
-       </div>
-     </div> <!-- /.col -->
-     <div class="col-md-4 col-sm-6">
-       <div class="border media">
-         <div class="media-left">
-           <img src="images/9skz1321dxbqpj5j.png" alt="Logo for Vert.x verticle">
-         </div>
-         <div class="media-body">
-           <h4>Vert.x Verticle</h4>
-           <p class="small" style="height: 50px;">Example web app for reactive applications.</p>
-         </div>
-         <a href="http://beta.codenvy.com/f?id=9skz1321dxbqpj5j" class="btn-gray80">Launch Workspace</a>
-       </div>
-     </div> <!-- /.col -->
-     <div class="col-md-4 col-sm-6">
-       <div class="border media">
-         <div class="media-left">
-           <img src="images/9fq0busbm3tz7i8c.png" alt="Logo for Spring Rest Guide">
-         </div>
-         <div class="media-body">
-           <h4>Spring Rest</h4>
-           <p class="small" style="height: 50px;">Tutorial to create a RESTful web service.</p>
-         </div>
-         <a href="http://beta.codenvy.com/f?id=9fq0busbm3tz7i8c" class="btn-gray80">Launch Workspace</a>
-       </div>
-     </div> <!-- /.col -->
-     <div class="col-md-4 col-sm-6">
-       <div class="border media">
-         <div class="media-left">
-           <img src="images/ej6koycnt4maubns.png" alt="Logo for Vaadin">
-         </div>
-         <div class="media-body">
-           <h4>Vaadin</h4>
-           <p class="small" style="height: 50px;">Official address book UI demo.</p>
-         </div>
-         <a href="http://beta.codenvy.com/f?id=ej6koycnt4maubns" class="btn-gray80">Launch Workspace</a>
-       </div>
-     </div> <!-- /.col -->
-     <div class="col-md-4 col-sm-6">
-       <div class="border media">
-         <div class="media-left">
-           <img src="images/xc7ga4dx6qrgb8ii.png" alt="Logo for ISTEX">
-         </div>
-         <div class="media-body">
-           <h4>ISTEX</h4>
-           <p class="small" style="height: 50px;">API demo for the French digital scientific library.</p>
-         </div>
-         <a href="http://beta.codenvy.com/f?id=xc7ga4dx6qrgb8ii" class="btn-gray80">Launch Workspace</a>
-       </div>
-     </div> <!-- /.col -->
-     <div class="col-md-4 col-sm-6">
-       <div class="border media">
-         <div class="media-left">
-           <img src="images/ir9mnlkdt6hxm0z9.png" alt="Logo for ISTEX">
-         </div>
-         <div class="media-body">
-           <h4>ISTEX</h4>
-           <p class="small" style="height: 50px;">API mock for the French digital scientific library.</p>
-         </div>
-         <a href="http://beta.codenvy.com/f?id=ir9mnlkdt6hxm0z9" class="btn-gray80">Launch Workspace</a>
-       </div>
-     </div> <!-- /.col -->
-     <div class="col-md-4 col-sm-6">
-       <div class="border media">
-         <div class="media-left">
-           <img src="images/gbfcsdb76f2iy1f2.png" alt="Logo for Wildfly">
-         </div>
-         <div class="media-body">
-           <h4>Wildfly</h4>
-           <p class="small" style="height: 50px;">Java hello world web app example.</p>
-         </div>
-         <a href="http://beta.codenvy.com/f?id=gbfcsdb76f2iy1f2" class="btn-gray80">Launch Workspace</a>
-       </div>
-     </div> <!-- /.col -->
-   </div><!-- /.row -->
-<!-- END_RUN_SAMPLES -->
-
- 
     </div> <!-- /#tab1 -->
 
 <!-- DIVIDER FOR TABS -->
diff --git a/getting-started/scripts/factories-widget.html b/getting-started/scripts/factories-widget.html
new file mode 100644
index 0000000..0aa18b1
--- /dev/null
+++ b/getting-started/scripts/factories-widget.html
@@ -0,0 +1,47 @@
+<div class="row">
+    <div class="col-md-6">
+        <form>
+            <div class="form-group">
+                <input ng-model="search" class="factories-search-input form-control" placeholder="Search factory">
+                <span class="fa fa-search factories-innerform"></span>
+            </div>
+        </form>
+    </div>
+
+    <div class="col-md-3 factories-filter-group">
+        <div class="factories-choice btn-group" data-ng-class="{open: factoriesController.languageOpen}">
+            <button class="btn">Filter by Language</button>
+            <button class="btn dropdown-toggle" data-ng-click="factoriesController.languageOpen=!factoriesController.languageOpen"><span class="caret"></span>
+            </button>
+            <ul class="dropdown-menu" aria-labelledby="dropdownMenu">
+                <li><a ng-click="factoriesController.checkAllLanguages()"><i class="fa fa-check-circle" aria-hidden="true"></i>&nbsp;Check All</a></li>
+                <li><a ng-click="factoriesController.enabledLanguages=[]"><i class="fa fa-times-circle" aria-hidden="true"></i>&nbsp;Uncheck All</a></li>
+                <li class="divider"></li>
+                <li data-ng-repeat="language in factoriesController.availableLanguages"> <a ng-click="factoriesController.toggleSelectedLanguage(language)">{{language}}&nbsp;<i ng-if="factoriesController.isCheckedLanguage(language)" class="fa fa-check" aria-hidden="true"></i></a>
+                </li>
+            </ul>
+        </div>
+    </div>
+    <div class="col-md-3 factories-filter-group">
+
+        <div class="factories-choice btn-group" data-ng-class="{open: factoriesController.categoryOpen}">
+            <button class="btn">Filter by Category</button>
+            <button class="btn dropdown-toggle" data-ng-click="factoriesController.categoryOpen=!factoriesController.categoryOpen"><span class="caret"></span>
+            </button>
+            <ul class="dropdown-menu" aria-labelledby="dropdownMenu">
+                <li><a ng-click="factoriesController.checkAllCategories()"><i class="fa fa-check-circle" aria-hidden="true"></i>&nbsp;Check All</a></li>
+                <li><a ng-click="factoriesController.enabledCategories=[]"><i class="fa fa-times-circle" aria-hidden="true"></i>&nbsp;Uncheck All</a></li>
+                <li class="divider"></li>
+                <li data-ng-repeat="category in factoriesController.availableCategories"> <a ng-click="factoriesController.toggleSelectedCategory(category)">{{category}}&nbsp;<i ng-if="factoriesController.isCheckedCategory(category)" class="fa fa-check" aria-hidden="true"></i></a>
+                </li>
+            </ul>
+        </div>
+    </div>
+
+</div>
+
+<div class="row">
+    <span ng-repeat="factory in factoriesController.factories  | orderBy:['-badgedRepository','name'] | factoryCategoryFilter:factoriesController.enabledCategories | factoryLanguageFilter:factoriesController.enabledLanguages | filter:search">
+        <getting-started-factory factory="factory"></getting-started-factory>
+    </span>
+</div>
\ No newline at end of file
diff --git a/getting-started/scripts/factories.js b/getting-started/scripts/factories.js
new file mode 100644
index 0000000..dcad9d0
--- /dev/null
+++ b/getting-started/scripts/factories.js
@@ -0,0 +1,151 @@
+angular.module('gettingStarted', [])
+    .directive('gettingStartedFactory', function() {
+        return {
+            bindToController : true,
+            controller: 'FactoryController',
+            controllerAs: 'factoryController',
+            templateUrl: 'scripts/factory-widget.html',
+            scope: {
+                factory: '=factory',
+            }
+        };
+    })
+    .filter('factoryCategoryFilter', function () {
+        return function (factories, enabledCategories) {
+            if (enabledCategories.length > 0) {
+                var filtered = [];
+                for (var i = 0; i < factories.length; i++) {
+                    var factory = factories[i];
+                    if (enabledCategories.indexOf(factory.category) >= 0) {
+                        filtered.push(factory);
+                    }
+                }
+                return filtered;
+            }
+
+            return factories;
+        }
+    })
+    .filter('factoryLanguageFilter', function () {
+        return function (factories, enabledLanguages) {
+            if (enabledLanguages.length > 0) {
+                var filtered = [];
+                for (var i = 0; i < factories.length; i++) {
+                    var factory = factories[i];
+                    var languages = factory.languages;
+                    if (languages) {
+                        languages.forEach(function (language) {
+                            if (enabledLanguages.indexOf(language) >= 0) {
+                                filtered.push(factory);
+                            }
+                        });
+                    }
+
+                }
+                return filtered;
+            }
+
+            return factories;
+        }
+    })
+    .controller('FactoryController', function () {
+
+
+
+    })
+    .directive('gettingStartedFactories', function() {
+        return {
+            bindToController : true,
+            controller: 'FactoriesController',
+            controllerAs: 'factoriesController',
+            templateUrl: 'scripts/factories-widget.html'
+        };
+    })
+    .controller('FactoriesController', ['$http', function ($http) {
+        this.availableCategories = [];
+        this.availableLanguages = [];
+        this.enabledCategories = [];
+        this.enabledLanguages = [];
+        this.factories = [];
+        var self = this;
+        var promise = $http.get('scripts/factories.json');
+
+        this.toggleSelected = function (item, enabledArray) {
+            var index = enabledArray.indexOf(item);
+            if (index < 0) {
+                enabledArray.push(item);
+            } else {
+                enabledArray.splice(index, 1);
+            }
+        };
+
+        this.isChecked = function (item, enabledArray) {
+            return enabledArray.indexOf(item) >= 0;
+        };
+
+        this.checkAll = function (availableArray) {
+            return availableArray.slice(0);
+        };
+
+
+        this.toggleSelectedLanguage = function (language) {
+            return self.toggleSelected(language, self.enabledLanguages);
+        };
+
+        this.toggleSelectedCategory = function (category) {
+            return self.toggleSelected(category, self.enabledCategories);
+        };
+
+
+        this.isCheckedCategory = function (category) {
+            return self.isChecked(category, self.enabledCategories);
+        };
+
+        this.isCheckedLanguage = function (language) {
+            return self.isChecked(language, self.enabledLanguages);
+        };
+
+        this.checkAllLanguages = function () {
+            self.enabledLanguages = self.checkAll(self.availableLanguages);
+        };
+
+        this.checkAllCategories = function () {
+            self.enabledCategories = self.checkAll(self.availableCategories);
+        };
+
+        promise.then(function (response) {
+            self.factories = response.data.factories;
+
+            // now, populate the different categories
+            self.factories.forEach(function(factory) {
+                if (self.availableCategories.indexOf(factory.category) < 0) {
+                    self.availableCategories.push(factory.category);
+                }
+
+                var languages = factory.languages;
+                if (languages) {
+                    languages.forEach(function (language) {
+                       if (self.availableLanguages.indexOf(language) < 0) {
+                           self.availableLanguages.push(language);
+                       }
+                    });
+                }
+            });
+
+            // sort arrays
+            self.availableCategories.sort();
+            self.availableLanguages.sort();
+
+        });
+
+        this.toggleCategory = function (category) {
+            var index = self.enabledCategories.indexOf(category);
+            if (index >= 0) {
+                self.enabledCategories.splice(index, 1);
+            } else {
+                self.enabledCategories.push(category);
+            }
+        }
+
+
+    }]);
diff --git a/getting-started/scripts/factories.json b/getting-started/scripts/factories.json
new file mode 100644
index 0000000..3fb81b0
--- /dev/null
+++ b/getting-started/scripts/factories.json
@@ -0,0 +1,367 @@
+{
+  "disclaimer":"DO NOT CHANGE ANYTHING IN THIS FILE, IT IS AUTOMATICALLY GENERATED",
+  "factories":
+  [
+     {
+       "name": ".NET",
+       "desc": "Hello world console app on Linux with Mono",
+       "logo": "images/mo97t9pkaijr7q1c.png",
+       "project": "https://github.com/che-samples/console-dotnet-simple",
+       "website": "",
+       "category": "che samples",
+       "badgedRepository": false,
+       "badgeLink": "",
+       "factory": "http://beta.codenvy.com/f?id=mo97t9pkaijr7q1c",
+       "languages": [
+            ".net"
+
+        ]
+     },
+     {
+       "name": "Angular 2",
+       "desc": "Official Angular2 quick start tutorial",
+       "logo": "images/2i2ikikl4kif87l9.png",
+       "project": "https://github.com/angular/quickstart",
+       "website": "https://angular.io/docs/ts/latest/quickstart.html",
+       "category": "tutorial",
+       "badgedRepository": false,
+       "badgeLink": "",
+       "factory": "http://beta.codenvy.com/f?id=2i2ikikl4kif87l9",
+       "languages": [
+            "javascript"
+
+        ]
+     },
+     {
+       "name": "ASP.NET",
+       "desc": "Hello world web app on Linux with Mono",
+       "logo": "images/m9ylnmjtmzvmq99i.png",
+       "project": "https://github.com/che-samples/web-aspnet-simple",
+       "website": "",
+       "category": "che samples",
+       "badgedRepository": false,
+       "badgeLink": "",
+       "factory": "http://beta.codenvy.com/f?id=m9ylnmjtmzvmq99i",
+       "languages": [
+            "asp.net"
+
+        ]
+     },
+     {
+       "name": "C++",
+       "desc": "Hello world console app with auto-build and run",
+       "logo": "images/21w2nx87yto2xi1z.png",
+       "project": "https://github.com/che-samples/console-cpp-simple.git",
+       "website": "",
+       "category": "che samples",
+       "badgedRepository": false,
+       "badgeLink": "",
+       "factory": "http://beta.codenvy.com/f?id=21w2nx87yto2xi1z",
+       "languages": [
+            "c++"
+
+        ]
+     },
+     {
+       "name": "cfp.io",
+       "desc": "Simplify requesting papers for conferences",
+       "logo": "images/tdwv5klhq3zcuowr.png",
+       "project": "https://github.com/cfpio/callForPaper",
+       "website": "http://www.cfp.io",
+       "category": "framework",
+       "badgedRepository": false,
+       "badgeLink": "",
+       "factory": "http://beta.codenvy.com/f?id=tdwv5klhq3zcuowr",
+       "languages": [
+            "java",
+            "javascript"
+
+        ]
+     },
+     {
+       "name": "Elasticsearch",
+       "desc": "Open Source, Distributed, RESTful Search Engine",
+       "logo": "images/7pabc2kl40gb6yep.png",
+       "project": "https://github.com/elastic/elasticsearch",
+       "website": "https://www.elastic.co/products/elasticsearch",
+       "category": "framework",
+       "badgedRepository": false,
+       "badgeLink": "",
+       "factory": "http://beta.codenvy.com/f?id=7pabc2kl40gb6yep",
+       "languages": [
+            "java"
+
+        ]
+     },
+     {
+       "name": "Generator Alfresco",
+       "desc": "A Yeoman generator for Open-source content management",
+       "logo": "images/zia672875qiibfzv.png",
+       "project": "https://github.com/binduwavell/generator-alfresco",
+       "website": "http://www.alfresco.com/",
+       "category": "framework",
+       "badgedRepository": false,
+       "badgeLink": "",
+       "factory": "http://beta.codenvy.com/f?id=zia672875qiibfzv",
+       "languages": [
+            "javascript"
+
+        ]
+     },
+     {
+       "name": "ISTEX",
+       "desc": "API demo for the French digital scientific library",
+       "logo": "images/xc7ga4dx6qrgb8ii.png",
+       "project": "https://github.com/istex/istex-api-demo",
+       "website": "http://www.istex.fr",
+       "category": "framework",
+       "badgedRepository": false,
+       "badgeLink": "",
+       "factory": "http://beta.codenvy.com/f?id=xc7ga4dx6qrgb8ii",
+       "languages": [
+            "javascript"
+
+        ]
+     },
+     {
+       "name": "ISTEX",
+       "desc": "API mock for the French digital scientific library",
+       "logo": "images/ir9mnlkdt6hxm0z9.png",
+       "project": "https://github.com/istex/istex-api-faker",
+       "website": "http://www.istex.fr",
+       "category": "framework",
+       "badgedRepository": false,
+       "badgeLink": "",
+       "factory": "http://beta.codenvy.com/f?id=ir9mnlkdt6hxm0z9",
+       "languages": [
+            "javascript"
+
+        ]
+     },
+     {
+       "name": "Java + Gradle",
+       "desc": "Hello world console app with auto-build and run",
+       "logo": "images/5use7stej9bi9mxd.png",
+       "project": "https://github.com/che-samples/console-java-gradle.git",
+       "website": "",
+       "category": "che samples",
+       "badgedRepository": false,
+       "badgeLink": "",
+       "factory": "http://beta.codenvy.com/f?id=5use7stej9bi9mxd",
+       "languages": [
+            "java"
+
+        ]
+     },
+     {
+       "name": "Java + Maven",
+       "desc": "Hello world console app with auto-build and run",
+       "logo": "images/omriatu352kkthua.png",
+       "project": "https://github.com/che-samples/console-java-simple.git",
+       "website": "",
+       "category": "che samples",
+       "badgedRepository": false,
+       "badgeLink": "",
+       "factory": "http://beta.codenvy.com/f?id=omriatu352kkthua",
+       "languages": [
+            "java"
+
+        ]
+     },
+     {
+       "name": "Javaslang",
+       "desc": "A functional library for Java 8+",
+       "logo": "images/rp0k4m6gh6rzifmi.png",
+       "project": "https://github.com/javaslang/javaslang",
+       "website": "http://www.javaslang.io/",
+       "category": "framework",
+       "badgedRepository": false,
+       "badgeLink": "",
+       "factory": "http://beta.codenvy.com/f?id=rp0k4m6gh6rzifmi",
+       "languages": [
+            "java"
+
+        ]
+     },
+     {
+       "name": "Node.js",
+       "desc": "Hello world web app with auto-build and run",
+       "logo": "images/af9r928owfulum17.png",
+       "project": "https://github.com/che-samples/web-nodejs-simple.git",
+       "website": "",
+       "category": "che samples",
+       "badgedRepository": false,
+       "badgeLink": "",
+       "factory": "http://beta.codenvy.com/f?id=af9r928owfulum17",
+       "languages": [
+            "javascript"
+
+        ]
+     },
+     {
+       "name": "PHP",
+       "desc": "Hello world web app with auto-build and run",
+       "logo": "images/5ayat0naxlljn3p2.png",
+       "project": "https://github.com/che-samples/web-php-simple.git",
+       "website": "",
+       "category": "che samples",
+       "badgedRepository": false,
+       "badgeLink": "",
+       "factory": "http://beta.codenvy.com/f?id=5ayat0naxlljn3p2",
+       "languages": [
+            "php"
+
+        ]
+     },
+     {
+       "name": "Sourcegraph",
+       "desc": "Code Intelligence for Teams.",
+       "logo": "images/lse9alc1que84k1y.png",
+       "project": "https://src.sourcegraph.com/sourcegraph",
+       "website": "https://sourcegraph.com/",
+       "category": "framework",
+       "badgedRepository": false,
+       "badgeLink": "",
+       "factory": "http://beta.codenvy.com/f?id=lse9alc1que84k1y",
+       "languages": [
+            "java"
+
+        ]
+     },
+     {
+       "name": "Spring",
+       "desc": "Java Spring PetClinic web app example",
+       "logo": "images/r6p0l1sfnwm99k94.png",
+       "project": "https://github.com/che-samples/web-java-spring-petclinic.git",
+       "website": "",
+       "category": "che samples",
+       "badgedRepository": false,
+       "badgeLink": "",
+       "factory": "http://beta.codenvy.com/f?id=r6p0l1sfnwm99k94",
+       "languages": [
+            "java"
+
+        ]
+     },
+     {
+       "name": "Spring Boot",
+       "desc": "Java web app example for rapid development",
+       "logo": "images/sz7uzyofb8olekkn.png",
+       "project": "https://github.com/che-samples/web-java-spring-boot.git",
+       "website": "",
+       "category": "che samples",
+       "badgedRepository": false,
+       "badgeLink": "",
+       "factory": "http://beta.codenvy.com/f?id=sz7uzyofb8olekkn",
+       "languages": [
+            "java"
+
+        ]
+     },
+     {
+       "name": "Spring Rest Guide",
+       "desc": "Learn how to create a RESTful web service with Spring",
+       "logo": "images/9fq0busbm3tz7i8c.png",
+       "project": "https://github.com/spring-guides/gs-rest-service",
+       "website": "http://spring.io/guides/gs/rest-service/",
+       "category": "tutorial",
+       "badgedRepository": false,
+       "badgeLink": "",
+       "factory": "http://beta.codenvy.com/f?id=9fq0busbm3tz7i8c",
+       "languages": [
+            "java"
+
+        ]
+     },
+     {
+       "name": "TomEE",
+       "desc": "JAX-RS and Angular web app sample",
+       "logo": "images/07xzbw8pq5wn02y5.png",
+       "project": "https://github.com/tomitribe/tomee-jaxrs-angular-starter-project.git",
+       "website": "http://www.tomitribe.com/",
+       "category": "samples",
+       "badgedRepository": false,
+       "badgeLink": "",
+       "factory": "http://beta.codenvy.com/f?id=07xzbw8pq5wn02y5",
+       "languages": [
+            "java"
+
+        ]
+     },
+     {
+       "name": "TomEE",
+       "desc": "Moviefun Java sample app",
+       "logo": "images/suloomuf7cvcfghn.png",
+       "project": "https://github.com/apache/tomee",
+       "website": "http://tomee.apache.org",
+       "category": "samples",
+       "badgedRepository": false,
+       "badgeLink": "",
+       "factory": "http://beta.codenvy.com/f?id=suloomuf7cvcfghn",
+       "languages": [
+            "java"
+
+        ]
+     },
+     {
+       "name": "TomEE",
+       "desc": "Stateless Java bean sample app",
+       "logo": "images/lemf30nh52rvsx42.png",
+       "project": "https://github.com/apache/tomee",
+       "website": "http://tomee.apache.org",
+       "category": "samples",
+       "badgedRepository": false,
+       "badgeLink": "",
+       "factory": "http://beta.codenvy.com/f?id=lemf30nh52rvsx42",
+       "languages": [
+            "java"
+
+        ]
+     },
+     {
+       "name": "Vaadin",
+       "desc": "Official address book UI demo",
+       "logo": "images/ej6koycnt4maubns.png",
+       "project": "https://github.com/vaadin/addressbook",
+       "website": "https://vaadin.com/home",
+       "category": "samples",
+       "badgedRepository": false,
+       "badgeLink": "",
+       "factory": "http://beta.codenvy.com/f?id=ej6koycnt4maubns",
+       "languages": [
+            "java"
+
+        ]
+     },
+     {
+       "name": "Vert.x verticle",
+       "desc": "Example web app for reactive applications on the JVM",
+       "logo": "images/9skz1321dxbqpj5j.png",
+       "project": "https://github.com/vert-x3/vertx-examples",
+       "website": "http://vertx.io/",
+       "category": "samples",
+       "badgedRepository": true,
+       "badgeLink": "https://github.com/vert-x3/vertx-examples",
+       "factory": "http://beta.codenvy.com/f?id=9skz1321dxbqpj5j",
+       "languages": [
+            "java"
+
+        ]
+     },
+     {
+       "name": "Wildfly",
+       "desc": "Java hello world web app example",
+       "logo": "images/gbfcsdb76f2iy1f2.png",
+       "project": "https://github.com/che-samples/web-java-wildfly.git",
+       "website": "",
+       "category": "che samples",
+       "badgedRepository": false,
+       "badgeLink": "",
+       "factory": "http://beta.codenvy.com/f?id=gbfcsdb76f2iy1f2",
+       "languages": [
+            "java"
+
+        ]
+     }
+  ]
+}
diff --git a/getting-started/scripts/factory-widget.html b/getting-started/scripts/factory-widget.html
new file mode 100644
index 0000000..564320a
--- /dev/null
+++ b/getting-started/scripts/factory-widget.html
@@ -0,0 +1,17 @@
+<div class="col-md-4 col-sm-6">
+    <div class="border media ribbon-box">
+        <div ng-if="factoryController.factory.badgedRepository" class="ribbon"><span><a href="{{factoryController.factory.badgeLink}}">BADGED</a></span></div>
+        <div class="media-left">
+            <img src="{{factoryController.factory.logo}}" alt="Logo for {{factoryController.factory.name}}">
+            <!--<i class="factory-category-{{factoryController.factory.category}} factory-info fa fa-info-circle" aria-hidden="true"></i>-->
+        </div>
+        <div class="media-body">
+            <h4>
+                <a ng-if="factoryController.factory.website" href="{{factoryController.factory.website}}">{{factoryController.factory.name}}</a>
+                <span ng-hide="factoryController.factory.website">{{factoryController.factory.name}}</span>
+            </h4>
+            <p class="small factory-desc">{{factoryController.factory.desc}}.</p>
+        </div>
+        <a href="{{factoryController.factory.factory}}" class="btn-gray80">Launch Workspace</a>
+    </div>
+</div> <!-- /.col -->
