From 4fb3b3e7ccbc5360eb5998eac4a1ed526407982b Mon Sep 17 00:00:00 2001
From: Quincy Larson <michaelqlarson@gmail.com>
Date: Thu, 2 Jul 2015 13:59:13 -0700
Subject: [PATCH] add more cities and move the bootcamp calculator to field
 guide entries (still untested).

---
 public/js/calculator.js                      |   2 +-
 {server/utils => public/json}/bootcamps.json |   0
 seed/field-guides.json                       | 169 ++++++++++++++++++-
 server/boot/randomAPIs.js                    |  10 --
 server/boot/redirects.js                     |   7 +
 server/views/resources/calculator.jade       | 113 -------------
 6 files changed, 174 insertions(+), 127 deletions(-)
 rename {server/utils => public/json}/bootcamps.json (100%)

diff --git a/public/js/calculator.js b/public/js/calculator.js
index 9cd991a9e790cf..207611c9e61352 100644
--- a/public/js/calculator.js
+++ b/public/js/calculator.js
@@ -1,6 +1,6 @@
 $(document).ready(function () {
   var bootcamps = ''
-  $.getJSON('/coding-bootcamp-cost-calculator.json', function(data) {
+  $.getJSON('/json/bootcamps.json', function(data) {
     bootcamps = data;
   });
   var city = "";
diff --git a/server/utils/bootcamps.json b/public/json/bootcamps.json
similarity index 100%
rename from server/utils/bootcamps.json
rename to public/json/bootcamps.json
diff --git a/seed/field-guides.json b/seed/field-guides.json
index 7e6ee204306191..79f88fcc6152bb 100644
--- a/seed/field-guides.json
+++ b/seed/field-guides.json
@@ -284,6 +284,164 @@
       "</div>"
     ]
   },
+  {
+    "id": "bd7159d9c436eddfaeb5bdef",
+    "name": "Can I Calculate the True Cost of a Bootcamp with a Coding Bootcamp Cost Calculator?",
+    "dashedName": "can-i-calculate-the-true-cost-of-a-bootcamp-with-a-coding-bootcamp-cost-calculator",
+    "description": [
+      "<script src=\"/js/calculator.js\"></script>",
+      "<div class=\"row\">",
+      "  <div class=\"col-xs-12 col-sm-10 col-md-8 col-lg-6 col-sm-offset-1 col-md-offset-2 col-lg-offset-3\">",
+      "    <h1 class=\"text-center\">Coding Bootcamp Cost Calculator</h1>",
+      "    <h3 id=\"chosen\" class=\"text-center text-primary\">Coming from _______, and making $_______, your true costs will be:</h3>",
+      "    <div id=\"city-buttons\">",
+      "      <div class=\"spacer\"></div>",
+      "      <h2 class=\"text-center\">Where do you live?</h2>",
+      "      <div class=\"spacer\"></div>",
+      "      <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
+      "        <button id=\"atlanta\" class=\"btn btn-primary btn-block btn-lg\">Atlanta</button>",
+      "      </div>",
+      "      <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
+      "        <button id=\"austin\" class=\"btn btn-primary btn-block btn-lg\">Austin</button>",
+      "      </div>",
+      "      <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
+      "        <button id=\"brisbane\" class=\"btn btn-primary btn-block btn-lg\">Brisbane</button>",
+      "      </div>",
+      "      <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
+      "        <button id=\"boulder\" class=\"btn btn-primary btn-block btn-lg\">Boulder</button>",
+      "      </div>",
+      "      <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
+      "        <button id=\"chicago\" class=\"btn btn-primary btn-block btn-lg\">Chicago</button>",
+      "      </div>",
+      "      <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
+      "        <button id=\"denver\" class=\"btn btn-primary btn-block btn-lg\">Denver</button>",
+      "      </div>",
+      "      <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
+      "        <button id=\"hong-kong\" class=\"btn btn-primary btn-block btn-lg\">Hong Kong</button>",
+      "      </div>",
+      "      <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
+      "        <button id=\"london\" class=\"btn btn-primary btn-block btn-lg\">London</button>",
+      "      </div>",
+      "      <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
+      "        <button id=\"los-angeles\" class=\"btn btn-primary btn-block btn-lg\">Los Angeles</button>",
+      "      </div>",
+      "      <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
+      "        <button id=\"manchester\" class=\"btn btn-primary btn-block btn-lg\">Manchester</button>",
+      "      </div>",
+      "      <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
+      "        <button id=\"melbourne\" class=\"btn btn-primary btn-block btn-lg\">Melbourne</button>",
+      "      </div>",
+      "      <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
+      "        <button id=\"new-york-city\" class=\"btn btn-primary btn-block btn-lg\">New York City</button>",
+      "      </div>",
+      "      <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
+      "        <button id=\"portland\" class=\"btn btn-primary btn-block btn-lg\">Portland</button>",
+      "      </div>",
+      "      <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
+      "        <button id=\"raleigh-durham\" class=\"btn btn-primary btn-block btn-lg\">Raleigh-Durham</button>",
+      "      </div>",
+      "      <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
+      "        <button id=\"san-francisco\" class=\"btn btn-primary btn-block btn-lg\">San Fransisco</button>",
+      "      </div>",
+      "      <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
+      "        <button id=\"seattle\" class=\"btn btn-primary btn-block btn-lg\">Seattle</button>",
+      "      </div>",
+      "      <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
+      "        <button id=\"singapore\" class=\"btn btn-primary btn-block btn-lg\">Singapore</button>",
+      "      </div>",
+      "      <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
+      "        <button id=\"toronto\" class=\"btn btn-primary btn-block btn-lg\">Toronto</button>",
+      "      </div>",
+      "      <div class=\"col-xs-12 btn-nav\">",
+      "        <button id=\"other\" class=\"btn btn-primary btn-block btn-lg\">Other</button>",
+      "        <div class=\"spacer\"></div>",
+      "      </div>",
+      "    </div>",
+      "    <div id=\"income\" class=\"initially-hidden\">",
+      "      <div class=\"spacer\"></div>",
+      "      <h2 class=\"text-center\">How much money did you make last year (in USD)?</h2>",
+      "      <div class=\"spacer\"></div>",
+      "      <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
+      "        <button id=\"0\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$0</button>",
+      "      </div>",
+      "      <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
+      "        <button id=\"20000\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$20,000</button>",
+      "      </div>",
+      "      <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
+      "        <button id=\"30000\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$30,000</button>",
+      "      </div>",
+      "      <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
+      "        <button id=\"40000\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$40,000</button>",
+      "      </div>",
+      "      <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
+      "        <button id=\"50000\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$50,000</button>",
+      "      </div>",
+      "      <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
+      "        <button id=\"60000\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$60,000</button>",
+      "      </div>",
+      "      <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
+      "        <button id=\"70000\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$70,000</button>",
+      "      </div>",
+      "      <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
+      "        <button id=\"80000\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$80,000</button>",
+      "      </div>",
+      "      <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
+      "        <button id=\"90000\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$90,000</button>",
+      "      </div>",
+      "      <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
+      "        <button id=\"100000\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$100,000</button>",
+      "      </div>",
+      "      <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
+      "        <button id=\"120000\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$120,000</button>",
+      "      </div>",
+      "      <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
+      "        <button id=\"140000\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$140,000</button>",
+      "      </div>",
+      "      <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
+      "        <button id=\"160000\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$160,000</button>",
+      "      </div>",
+      "      <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
+      "        <button id=\"180000\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$180,000</button>",
+      "      </div>",
+      "      <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
+      "        <button id=\"200000\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$200,000</button>",
+      "        <div class=\"spacer\"></div>",
+      "      </div>",
+      "    </div>",
+      "    <div id=\"chart\" class=\"initially-hidden\">",
+      "      <div class=\"d3-centered\">",
+      "        <svg class=\"chart\"></svg>",
+      "      </div>",
+      "    </div>",
+      "    <div id=\"explanation\" class=\"initially-hidden\">",
+      "      <div class=\"col-xs-12 col-sm-10 col-sm-offset-1\">",
+      "        <div class=\"text-center\">",
+      "          <button id=\"transform\" class=\"btn btn-primary btn-lg\">Transform</button>",
+      "          <div class=\"button-spacer\"></div><a href=\"/json/bootcamps.json\">View Data Source JSON</a><span>&nbsp; &bullet; &nbsp;</span><a href=\"/coding-bootcamp-cost-calculator\">Recalculate</a>",
+      "        </div>",
+      "        <h3>Notes:</h3>",
+      "        <ol>",
+      "          <li class=\"large-li\">For cash-up-front bootcamps, we assumed an APR of 6% and a term of 3 years.</li>",
+      "          <li class=\"large-li\">For wage-garnishing bootcamps, we assume 18% of first year wages at their advertised starting annual salary of around $100,000.</li>",
+      "          <li class=\"large-li\">We assume a cost of living of $500 for cities like San Francisco and New York City, and $400 per week for everywhere else.</li>",
+      "          <li class=\"large-li\">The most substantial cost for most people is lost wages. A 40-hour-per-week job at the US Federal minimum wage would pay at least $15,000 per year. You can read more about economic cost<a href=\"https://en.wikipedia.org/wiki/Economic_cost\" target=\"_blank\"> here</a>.</li>",
+      "          <li class=\"large-li\">Free Code Camp. We don't charge tuition or garnish wages. We're fully online so you don't have to move. We're self-paced so you don't have to quit your job. Thus, your true cost of attending Free Code Camp will be $0.</li>",
+      "        </ol>",
+      "        <div class=\"spacer\"></div>",
+      "        <div class=\"row\">",
+      "          <div class=\"col-xs-12 col-sm-4 col-md-3\"><img src=\"https://www.evernote.com/l/AHRIBndcq-5GwZVnSy1_D7lskpH4OcJcUKUB/image.png\" class=\"img-responsive testimonial-image\"/></div>",
+      "          <div class=\"col-xs-12 col-sm-8 col-md-9\">",
+      "            <h3>Built by Suzanne Atkinson</h3>",
+      "            <p class=\"large-p\">Suzanne is an emergency medicine physician, triathlon coach and web developer from Pittsburgh. You should &thinsp;<a href=\"https://twitter.com/intent/user?screen_name=SteelCityCoach\" target=\"_blank\">follow her on Twitter</a>.</p>",
+      "          </div>",
+      "        </div>",
+      "        <div class=\"spacer\"></div>",
+      "      </div>",
+      "    </div>",
+      "  </div>",
+      "</div>"
+    ]
+  },
   {
     "id": "bd7158d9c435eddfaeb5bdef",
     "name": "Does Free Code Camp have an application process?",
@@ -339,7 +497,7 @@
       "      <tr><td>Atlanta</td><td><a href='https://www.facebook.com/groups/free.code.camp.atlanta/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Atlanta' target='_blank'>Gitter</a></td></tr>",
       "      <tr><td>Auckland</td><td><a href='https://www.facebook.com/groups/awesome.code.camp/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Auckland' target='_blank'>Gitter</a></td></tr>",
       "      <tr><td>Austin</td><td><a href='https://www.facebook.com/groups/free.code.camp.austin/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Austin' target='_blank'>Gitter</a></td></tr>",
-      "      <tr><td>Baltimore</td><td><a href='https://www.facebook.com/groups/free.code.camp.baltimore.md/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Baltimore' target='_blank'>Gitter</a></td></tr>",
+      "      <tr><td>Baltimore</td><td><a href='https://www.facebook.com/groups/free.code.camp.baltimore/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Baltimore' target='_blank'>Gitter</a></td></tr>",
       "      <tr><td>Bandung</td><td><a href='https://www.facebook.com/groups/free.code.camp.bandung/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Bandung' target='_blank'>Gitter</a></td></tr>",
       "      <tr><td>Bangkok</td><td><a href='https://www.facebook.com/groups/free.code.camp.bangkok/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Bangkok' target='_blank'>Gitter</a></td></tr>",
       "      <tr><td>Belem</td><td><a href='https://www.facebook.com/groups/free.code.camp.belem/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Belem' target='_blank'>Gitter</a></td></tr>",
@@ -379,6 +537,7 @@
       "      <tr><td>Chicago</td><td><a href='https://www.facebook.com/groups/free.code.camp.chicago/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Chicago' target='_blank'>Gitter</a></td></tr>",
       "      <tr><td>Cincinnati</td><td><a href='https://www.facebook.com/groups/free.code.camp.cincinnati/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Cincinnati' target='_blank'>Gitter</a></td></tr>",
       "      <tr><td>Clarksville</td><td><a href='https://www.facebook.com/groups/free.code.camp.clarksville.TN/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Clarksville' target='_blank'>Gitter</a></td></tr>",
+      "      <tr><td>Cleveland</td><td><a href='https://www.facebook.com/groups/free.code.camp.cleveland/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Cleveland' target='_blank'>Gitter</a></td></tr>",
       "      <tr><td>Cluj</td><td><a href='https://www.facebook.com/groups/free.code.camp.cluj' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Cluj' target='_blank'>Gitter</a></td></tr>",
       "      <tr><td>Coimbatore</td><td><a href='https://www.facebook.com/groups/free.code.camp.coimbatore' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Coimbatore' target='_blank'>Gitter</a></td></tr>",
       "      <tr><td>Coventry</td><td><a href='https://www.facebook.com/groups/free.code.camp.coventry/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Coventry' target='_blank'>Gitter</a></td></tr>",
@@ -410,7 +569,6 @@
       "      <tr><td>Guarapuava</td><td><a href='https://www.facebook.com/groups/free.code.camp.guarapuava/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Guarapuava' target='_blank'>Gitter</a></td></tr>",
       "      <tr><td>Hampton Roads</td><td><a href='https://www.facebook.com/groups/free.code.camp.hamptonroads/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/HamptonRoads' target='_blank'>Gitter</a></td></tr>",
       "      <tr><td>Hanoi</td><td><a href='https://www.facebook.com/groups/free.code.camp.hanoi/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Hanoi' target='_blank'>Gitter</a></td></tr>",
-      "      <tr><td>Harcourt</td><td><a href='https://www.facebook.com/groups/free.code.camp.port.harcourt/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Harcourt' target='_blank'>Gitter</a></td></tr>",
       "      <tr><td>Hartford</td><td><a href='https://www.facebook.com/groups/free.code.camp.hartford.connecticut/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Hartford' target='_blank'>Gitter</a></td></tr>",
       "      <tr><td>Hermosillo</td><td><a href='https://www.facebook.com/groups/free.code.camp.Hermosillo/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Hermosillo' target='_blank'>Gitter</a></td></tr>",
       "      <tr><td>Ho Chi Minh City</td><td><a href='https://www.facebook.com/groups/free.code.camp.hochiminhcity/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/HoChiMinhCity' target='_blank'>Gitter</a></td></tr>",
@@ -423,11 +581,13 @@
       "      <tr><td>Irkutsk</td><td><a href='https://www.facebook.com/groups/free.code.camp.irkutsk/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Irkutsk' target='_blank'>Gitter</a></td></tr>",
       "      <tr><td>Islamabad</td><td><a href='https://www.facebook.com/groups/free.code.camp.islamabad/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Islamabad' target='_blank'>Gitter</a></td></tr>",
       "      <tr><td>Ivano Frankivsk</td><td><a href='https://www.facebook.com/groups/free.code.camp.ivano.frankivsk/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/IvanoFrankivsk' target='_blank'>Gitter</a></td></tr>",
+      "      <tr><td>Jaipur</td><td><a href='https://www.facebook.com/groups/free.code.camp.jaipur/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Jaipur' target='_blank'>Gitter</a></td></tr>",
       "      <tr><td>Jakarta</td><td><a href='https://www.facebook.com/groups/free.code.camp.jakarta/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Jakarta' target='_blank'>Gitter</a></td></tr>",
       "      <tr><td>Joao Pessoa</td><td><a href='https://www.facebook.com/groups/free.code.camp.joao.pessoa/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/JoaoPessoa' target='_blank'>Gitter</a></td></tr>",
       "      <tr><td>Johannesburg</td><td><a href='https://www.facebook.com/groups/free.code.camp.johannesburg/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Johannesburg' target='_blank'>Gitter</a></td></tr>",
       "      <tr><td>Kaduna</td><td><a href='https://www.facebook.com/groups/free.code.camp.kaduna/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Kaduna' target='_blank'>Gitter</a></td></tr>",
       "      <tr><td>Kalamazoo</td><td><a href='https://www.facebook.com/groups/free.code.camp.kalamazoo/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Kalamazoo' target='_blank'>Gitter</a></td></tr>",
+      "      <tr><td>Kampala</td><td><a href='https://www.facebook.com/groups/free.code.camp.kampala/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Kampala' target='_blank'>Gitter</a></td></tr>",
       "      <tr><td>Kansas City</td><td><a href='https://www.facebook.com/groups/free.code.camp.kansascity/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/KansasCity' target='_blank'>Gitter</a></td></tr>",
       "      <tr><td>Karachi</td><td><a href='https://www.facebook.com/groups/free.code.camp.karachi/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Karachi' target='_blank'>Gitter</a></td></tr>",
       "      <tr><td>Kathmandu</td><td><a href='https://www.facebook.com/groups/free.code.camp.kathmandu/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Kathmandu' target='_blank'>Gitter</a></td></tr>",
@@ -450,7 +610,7 @@
       "      <tr><td>Los Angeles</td><td><a href='https://www.facebook.com/groups/free.code.camp.los.angeles/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/FCCLosAngeles' target='_blank'>Gitter</a></td></tr>",
       "      <tr><td>Lubbock</td><td><a href='https://www.facebook.com/groups/free.code.camp.lubbock/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Lubbock' target='_blank'>Gitter</a></td></tr>",
       "      <tr><td>Madrid</td><td><a href='https://www.facebook.com/groups/free.code.camp.madrid/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Madrid' target='_blank'>Gitter</a></td></tr>",
-      "      <tr><td>Manchester</td><td><a href='https://www.facebook.com/groups/free.code.camp.manchester/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Manchester' target='_blank'>Gitter</a></td></tr>",
+      "      <tr><td>Manchester, UK</td><td><a href='https://www.facebook.com/groups/free.code.camp.manchester/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Manchester' target='_blank'>Gitter</a></td></tr>",
       "      <tr><td>Manila</td><td><a href='https://www.facebook.com/groups/free.code.camp.manila/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Manila' target='_blank'>Gitter</a></td></tr>",
       "      <tr><td>Melbourne</td><td><a href='https://www.facebook.com/groups/free.code.camp.Melbourne/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Melbourne' target='_blank'>Gitter</a></td></tr>",
       "      <tr><td>Mexico City</td><td><a href='https://www.facebook.com/groups/free.code.camp.mexico.df/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/MexicoCity' target='_blank'>Gitter</a></td></tr>",
@@ -459,6 +619,7 @@
       "      <tr><td>Minneapolis</td><td><a href='https://www.facebook.com/groups/free.code.camp.minneapolis/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Minneapolis' target='_blank'>Gitter</a></td></tr>",
       "      <tr><td>Mississippi Gulf Coast</td><td><a href='https://www.facebook.com/groups/free.code.camp.msgulfcoast/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/MississippiGulfCoast' target='_blank'>Gitter</a></td></tr>",
       "      <tr><td>Missoula</td><td><a href='https://www.facebook.com/groups/free.code.camp.missoula/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Missoula' target='_blank'>Gitter</a></td></tr>",
+      "      <tr><td>Monterrey</td><td><a href='https://www.facebook.com/groups/free.code.camp.monterrey/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Monterrey' target='_blank'>Gitter</a></td></tr>",
       "      <tr><td>Montgomery</td><td><a href='https://www.facebook.com/groups/free.code.camp.montgomery.alabama/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Montgomery' target='_blank'>Gitter</a></td></tr>",
       "      <tr><td>Montreal</td><td><a href='https://www.facebook.com/groups/free.code.camp.montreal/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Montreal' target='_blank'>Gitter</a></td></tr>",
       "      <tr><td>Moscow</td><td><a href='https://www.facebook.com/groups/free.code.camp.moscow/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Moscow' target='_blank'>Gitter</a></td></tr>",
@@ -489,6 +650,7 @@
       "      <tr><td>Porto</td><td><a href='https://www.facebook.com/groups/free.code.camp.porto/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Porto' target='_blank'>Gitter</a></td></tr>",
       "      <tr><td>Pune</td><td><a href='https://www.facebook.com/groups/free.code.camp.pune/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Pune' target='_blank'>Gitter</a></td></tr>",
       "      <tr><td>Phoenix</td><td><a href='https://www.facebook.com/groups/free.code.camp.tempe.phoenix.scottsdale/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Phoenix' target='_blank'>Gitter</a></td></tr>",
+      "      <tr><td>Port Harcourt</td><td><a href='https://www.facebook.com/groups/free.code.camp.port.harcourt/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Harcourt' target='_blank'>Gitter</a></td></tr>",
       "      <tr><td>Portland</td><td><a href='https://www.facebook.com/groups/free.code.camp.portland/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Portland' target='_blank'>Gitter</a></td></tr>",
       "      <tr><td>Prescott</td><td><a href='https://www.facebook.com/groups/free.code.camp.northern.arizona/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/NorthernArizona' target='_blank'>Gitter</a></td></tr>",
       "      <tr><td>Pristina</td><td><a href='https://www.facebook.com/groups/free.code.camp.pristina/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Pristina' target='_blank'>Gitter</a></td></tr>",
@@ -518,6 +680,7 @@
       "      <tr><td>Scottsdale</td><td><a href='https://www.facebook.com/groups/free.code.camp.tempe.phoenix.scottsdale/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Phoenix' target='_blank'>Gitter</a></td></tr>",
       "      <tr><td>Sedona</td><td><a href='https://www.facebook.com/groups/free.code.camp.northern.arizona/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/NorthernArizona' target='_blank'>Gitter</a></td></tr>",
       "      <tr><td>Seattle</td><td><a href='https://www.facebook.com/groups/free.code.camp.seattle/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Seattle' target='_blank'>Gitter</a></td></tr>",
+      "      <tr><td>Seoul</td><td><a href='https://www.facebook.com/groups/free.code.camp.seoul/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Seoul' target='_blank'>Gitter</a></td></tr>",
       "      <tr><td>Sidoarjo</td><td><a href='https://www.facebook.com/groups/free.code.camp.sidoarjo/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Sidoarjo' target='_blank'>Gitter</a></td></tr>",
       "      <tr><td>Singapore</td><td><a href='https://www.facebook.com/groups/free.code.camp.singapore/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Singapore' target='_blank'>Gitter</a></td></tr>",
       "      <tr><td>Skopje</td><td><a href='https://www.facebook.com/groups/free.code.camp.skopje/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Skopje' target='_blank'>Gitter</a></td></tr>",
diff --git a/server/boot/randomAPIs.js b/server/boot/randomAPIs.js
index e891c929bdf46b..35e892d37648ad 100644
--- a/server/boot/randomAPIs.js
+++ b/server/boot/randomAPIs.js
@@ -5,7 +5,6 @@ var Rx = require('rx'),
     request = require('request'),
     debug = require('debug')('freecc:cntr:resources'),
     constantStrings = require('../utils/constantStrings.json'),
-    bootcampJson = require('../utils/bootcamps.json'),
     secrets = require('../../config/secrets');
 
 module.exports = function(app) {
@@ -22,8 +21,6 @@ module.exports = function(app) {
   router.get('/api/codepen/twitter/:screenName', twitter);
   router.get('/sitemap.xml', sitemap);
   router.get('/chat', chat);
-  router.get('/coding-bootcamp-cost-calculator', bootcampCalculator);
-  router.get('/coding-bootcamp-cost-calculator.json', bootcampCalculatorJson);
   router.get('/twitch', twitch);
   router.get('/pmi-acp-agile-project-managers', agileProjectManagers);
   router.get('/pmi-acp-agile-project-managers-form', agileProjectManagersForm);
@@ -209,13 +206,6 @@ module.exports = function(app) {
     res.redirect('//gitter.im/FreeCodeCamp/FreeCodeCamp');
   }
 
-  function bootcampCalculator(req, res) {
-    res.render('resources/calculator', {
-      title: 'Coding Bootcamp Cost Calculator',
-      bootcampJson: bootcampJson
-    });
-  }
-
   function bootcampCalculatorJson(req, res) {
     res.send(bootcampJson);
   }
diff --git a/server/boot/redirects.js b/server/boot/redirects.js
index b07ac3b13e77da..ee6709d428ed22 100644
--- a/server/boot/redirects.js
+++ b/server/boot/redirects.js
@@ -8,6 +8,13 @@ module.exports = function(app) {
     );
   });
 
+  router.get('/coding-bootcamp-cost-calculator', function(req, res) {
+    res.redirect(
+      301,
+      '/field-guide/can-i-calculate-the-true-cost-of-a-bootcamp-with-a-coding-bootcamp-cost-calculator'
+    );
+  });
+
   router.get('/agile', function(req, res) {
     res.redirect(301, '/pmi-acp-agile-project-managers');
   });
diff --git a/server/views/resources/calculator.jade b/server/views/resources/calculator.jade
index 43736531408849..6dab6c2a668f25 100644
--- a/server/views/resources/calculator.jade
+++ b/server/views/resources/calculator.jade
@@ -1,115 +1,2 @@
 extends ../layout-wide
 block content
-    script(src="../../../js/calculator.js")
-    .row
-        .col-xs-12.col-sm-10.col-md-8.col-lg-6.col-sm-offset-1.col-md-offset-2.col-lg-offset-3
-            h1.text-center Coding Bootcamp Cost Calculator
-            h3.text-center.text-primary#chosen Coming from _______, and making $_______, your true costs will be:
-            #city-buttons
-                .spacer
-                h2.text-center Where do you live?
-                .spacer
-                .col-xs-12.col-sm-12.col-md-4.btn-nav
-                    button#atlanta.btn.btn-primary.btn-block.btn-lg Atlanta
-                .col-xs-12.col-sm-12.col-md-4.btn-nav
-                    button#austin.btn.btn-primary.btn-block.btn-lg Austin
-                .col-xs-12.col-sm-12.col-md-4.btn-nav
-                    button#brisbane.btn.btn-primary.btn-block.btn-lg Brisbane
-                .col-xs-12.col-sm-12.col-md-4.btn-nav
-                    button#boulder.btn.btn-primary.btn-block.btn-lg Boulder
-                .col-xs-12.col-sm-12.col-md-4.btn-nav
-                    button#chicago.btn.btn-primary.btn-block.btn-lg Chicago
-                .col-xs-12.col-sm-12.col-md-4.btn-nav
-                    button#denver.btn.btn-primary.btn-block.btn-lg Denver
-                .col-xs-12.col-sm-12.col-md-4.btn-nav
-                    button#hong-kong.btn.btn-primary.btn-block.btn-lg Hong Kong
-                .col-xs-12.col-sm-12.col-md-4.btn-nav
-                    button#london.btn.btn-primary.btn-block.btn-lg London
-                .col-xs-12.col-sm-12.col-md-4.btn-nav
-                    button#los-angeles.btn.btn-primary.btn-block.btn-lg Los Angeles
-                .col-xs-12.col-sm-12.col-md-4.btn-nav
-                    button#manchester.btn.btn-primary.btn-block.btn-lg Manchester
-                .col-xs-12.col-sm-12.col-md-4.btn-nav
-                    button#melbourne.btn.btn-primary.btn-block.btn-lg Melbourne
-                .col-xs-12.col-sm-12.col-md-4.btn-nav
-                    button#new-york-city.btn.btn-primary.btn-block.btn-lg New York City
-                .col-xs-12.col-sm-12.col-md-4.btn-nav
-                    button#portland.btn.btn-primary.btn-block.btn-lg Portland
-                .col-xs-12.col-sm-12.col-md-4.btn-nav
-                    button#raleigh-durham.btn.btn-primary.btn-block.btn-lg Raleigh-Durham
-                .col-xs-12.col-sm-12.col-md-4.btn-nav
-                    button#san-francisco.btn.btn-primary.btn-block.btn-lg San Fransisco
-                .col-xs-12.col-sm-12.col-md-4.btn-nav
-                    button#seattle.btn.btn-primary.btn-block.btn-lg Seattle
-                .col-xs-12.col-sm-12.col-md-4.btn-nav
-                    button#singapore.btn.btn-primary.btn-block.btn-lg Singapore
-                .col-xs-12.col-sm-12.col-md-4.btn-nav
-                    button#toronto.btn.btn-primary.btn-block.btn-lg Toronto
-                .col-xs-12.btn-nav
-                    button#other.btn.btn-primary.btn-block.btn-lg Other
-                    .spacer
-            #income.initially-hidden
-                .spacer
-                h2.text-center How much money did you make last year (in USD)?
-                .spacer
-                .col-xs-12.col-sm-12.col-md-4.btn-nav
-                    button#0.btn.btn-primary.btn-block.btn-lg(href='#') $0
-                .col-xs-12.col-sm-12.col-md-4.btn-nav
-                    button#20000.btn.btn-primary.btn-block.btn-lg(href='#') $20,000
-                .col-xs-12.col-sm-12.col-md-4.btn-nav
-                    button#30000.btn.btn-primary.btn-block.btn-lg(href='#') $30,000
-                .col-xs-12.col-sm-12.col-md-4.btn-nav
-                    button#40000.btn.btn-primary.btn-block.btn-lg(href='#') $40,000
-                .col-xs-12.col-sm-12.col-md-4.btn-nav
-                    button#50000.btn.btn-primary.btn-block.btn-lg(href='#') $50,000
-                .col-xs-12.col-sm-12.col-md-4.btn-nav
-                    button#60000.btn.btn-primary.btn-block.btn-lg(href='#') $60,000
-                .col-xs-12.col-sm-12.col-md-4.btn-nav
-                    button#70000.btn.btn-primary.btn-block.btn-lg(href='#') $70,000
-                .col-xs-12.col-sm-12.col-md-4.btn-nav
-                    button#80000.btn.btn-primary.btn-block.btn-lg(href='#') $80,000
-                .col-xs-12.col-sm-12.col-md-4.btn-nav
-                    button#90000.btn.btn-primary.btn-block.btn-lg(href='#') $90,000
-                .col-xs-12.col-sm-12.col-md-4.btn-nav
-                    button#100000.btn.btn-primary.btn-block.btn-lg(href='#') $100,000
-                .col-xs-12.col-sm-12.col-md-4.btn-nav
-                    button#120000.btn.btn-primary.btn-block.btn-lg(href='#') $120,000
-                .col-xs-12.col-sm-12.col-md-4.btn-nav
-                    button#140000.btn.btn-primary.btn-block.btn-lg(href='#') $140,000
-                .col-xs-12.col-sm-12.col-md-4.btn-nav
-                    button#160000.btn.btn-primary.btn-block.btn-lg(href='#') $160,000
-                .col-xs-12.col-sm-12.col-md-4.btn-nav
-                    button#180000.btn.btn-primary.btn-block.btn-lg(href='#') $180,000
-                .col-xs-12.col-sm-12.col-md-4.btn-nav
-                    button#200000.btn.btn-primary.btn-block.btn-lg(href='#') $200,000
-                    .spacer
-            #chart.initially-hidden
-                .d3-centered
-                    svg.chart
-            #explanation.initially-hidden
-                .col-xs-12.col-sm-10.col-sm-offset-1
-                    .text-center
-                        button#transform.btn.btn-primary.btn-lg Transform
-                        .button-spacer
-                        a(href='/coding-bootcamp-cost-calculator.json') View Data Source JSON
-                        span &nbsp; &bullet; &nbsp;
-                        a(href='/coding-bootcamp-cost-calculator') Recalculate
-                    h3 Notes:
-                    ol
-                        li.large-li For cash-up-front bootcamps, we assumed an APR of 6% and a term of 3 years.
-                        li.large-li For wage-garnishing bootcamps, we assume 18% of first year wages at their advertised starting annual salary of around $100,000.
-                        li.large-li We assume a cost of living of $500 for cities like San Francisco and New York City, and $400 per week for everywhere else.
-                        li.large-li The most substantial cost for most people is lost wages. A 40-hour-per-week job at the US Federal minimum wage would pay at least $15,000 per year. You can read more about economic cost
-                            a(href='https://en.wikipedia.org/wiki/Economic_cost' target='_blank')  here
-                            | .
-                        li.large-li Free Code Camp. We don't charge tuition or garnish wages. We're fully online so you don't have to move. We're self-paced so you don't have to quit your job. Thus, your true cost of attending Free Code Camp will be $0.
-                    .spacer
-                    .row
-                        .col-xs-12.col-sm-4.col-md-3
-                            img.img-responsive.testimonial-image(src='https://www.evernote.com/l/AHRIBndcq-5GwZVnSy1_D7lskpH4OcJcUKUB/image.png')
-                        .col-xs-12.col-sm-8.col-md-9
-                            h3 Built by Suzanne Atkinson
-                            p.large-p Suzanne is an emergency medicine physician, triathlon coach and web developer from Pittsburgh. You should &thinsp;
-                                a(href='https://twitter.com/intent/user?screen_name=SteelCityCoach' target='_blank') follow her on Twitter
-                                | .
-                    .spacer