geoCheck = function (zip) {
  //For the moment, use the zip files in /democrats so we don't destroy GH anymore than we already have.
  zipfile = '/democrats/app/zips/' + zip + '.txt';
  console.log('Looking at ' + zipfile);
  $.ajax({
    type: 'GET',
    url: zipfile,
    dataType: 'text',
    cache: false,
    success: function (data) {
      console.log('Got state ' + data);
      getCampaignInfo(data);
    }
  });
}

function getCampaignInfo(state) {
  campaignDataRequest = $.get({
    //Campaign data, however, we'll load from our own dir.
    url: '/call/app/campaigns/' + state + '.json',
    dataType: 'json'
  });
  campaignDataRequest.done(function (data) {
    console.log(data);
    if (data.campaign.active) {
      var callData = {
        campaignId: data.campaign.id,
        userPhone: thisPhone,
        userLocation: thisLocation,
        script: 'overlay'
      }
      console.log('Assembled call data');
      console.log(callData);
      makeTheCall(callData);
    } else {
      console.log('No active campaign for ' + state);
    }
  });
  campaignDataRequest.fail(function (data) {
    if (data.status == 404) {
      console.log('No active campaign for ' + state);
    } else {
      console.log('Failed campaign data request');
      console.log(data);
      $(document).on('can_embed_submitted', function () {
        replaceThankYou('Error ' + data.status + ' while getting campaign info.  Try reloading the page.');
      });
    }
  });
}

@@ -135,36 +135,26 @@
  zip
-file
+loc
  = '/
-democrats/app/zip
+zipcode
 s/
+.
 ' + 
@@ -165,11 +165,12 @@
 + '.
-txt
+json
 ';%0A 
@@ -201,20 +201,19 @@
  ' + zip
-file
+loc
 );%0A  $.a
@@ -247,20 +247,19 @@
 url: zip
-file
+loc
 ,%0A    da
@@ -271,12 +271,12 @@
 e: '
-text
+json
 ',%0A 
@@ -289,12 +289,11 @@
 he: 
-fals
+tru
 e,%0A 
@@ -355,24 +355,30 @@
 ate ' + data
+.state
 );%0A      get
@@ -390,24 +390,30 @@
 ignInfo(data
+.state
 );%0A    %7D%0A  %7D

Switch to local zip retriever