diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000000..cba217e219
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,22 @@
+language: node_js
+cache: apt
+node_js:
+  - "0.10"
+before_install:
+  - sudo apt-get update -qq
+  - sudo apt-get install -y -q python-demjson
+install:
+  - npm install carto
+  - mkdir -p data/world_boundaries
+  - mkdir -p data/simplified-land-polygons-complete-3857
+  - mkdir -p data/ne_110m_admin_0_boundary_lines_land
+  - mkdir -p data/ne_10m_populated_places
+  - mkdir -p data/land-polygons-split-3857
+  - touch data/world_boundaries/builtup_area.shp
+  - touch data/simplified-land-polygons-complete-3857/simplified_land_polygons.shp
+  - touch data/ne_110m_admin_0_boundary_lines_land/ne_110m_admin_0_boundary_lines_land.shp
+  - touch data/ne_10m_populated_places/ne_10m_populated_places_fixed.shp
+  - touch data/land-polygons-split-3857/land_polygons.shp
+script:
+  - jsonlint project.mml
+  - ./node_modules/carto/bin/carto project.mml | xmllint --noout -