diff --git a/.gitignore b/.gitignore
index 853dca44b..dc154815f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -35,6 +35,9 @@ Thumbs.db
 node_modules/
 bower_components/
 
+# Vagrant
+.vagrant/
+
 # Some other random stuff
 always-ignore extensions
 *.diff
diff --git a/.npmignore b/.npmignore
index 8c3d2c8c5..810e48ef0 100644
--- a/.npmignore
+++ b/.npmignore
@@ -59,6 +59,9 @@ Thumbs.db
 # NPM packages folder.
 node_modules/
 
+# Vagrant
+.vagrant/
+
 # Some other random stuff
 always-ignore extensions
 *.diff
diff --git a/Vagrantfile b/Vagrantfile
new file mode 100644
index 000000000..266553872
--- /dev/null
+++ b/Vagrantfile
@@ -0,0 +1,19 @@
+# -*- mode: ruby -*-
+# vi: set ft=ruby :
+
+# Original content copyright (c) 2014 dpen2000 licensed under the MIT license
+
+VAGRANTFILE_API_VERSION = "2"
+
+Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
+  config.vm.box = "hashicorp/precise64"
+
+  config.vm.network "forwarded_port", guest: 3000, host: 3000
+
+  config.vm.provision "shell", path: "scripts/vagrant/provision.sh"
+  config.vm.provider "virtualbox" do |v|
+    v.memory = 2048
+    v.cpus = 2
+  end
+
+end
diff --git a/scripts/vagrant/brunch.bat b/scripts/vagrant/brunch.bat
new file mode 100644
index 000000000..0e19d96d8
--- /dev/null
+++ b/scripts/vagrant/brunch.bat
@@ -0,0 +1,3 @@
+@ECHO OFF
+vagrant ssh -c "cd /vagrant && bin/coco-brunch"  
+
diff --git a/scripts/vagrant/brunch.sh b/scripts/vagrant/brunch.sh
new file mode 100755
index 000000000..97d23fbb5
--- /dev/null
+++ b/scripts/vagrant/brunch.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+vagrant ssh -c "cd /vagrant && bin/coco-brunch"
+
diff --git a/scripts/vagrant/dev-server.bat b/scripts/vagrant/dev-server.bat
new file mode 100644
index 000000000..18951a3c6
--- /dev/null
+++ b/scripts/vagrant/dev-server.bat
@@ -0,0 +1,3 @@
+@ECHO OFF
+vagrant ssh -c "cd /vagrant && bin/coco-dev-server"
+
diff --git a/scripts/vagrant/dev-server.sh b/scripts/vagrant/dev-server.sh
new file mode 100755
index 000000000..a130b6c21
--- /dev/null
+++ b/scripts/vagrant/dev-server.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+vagrant ssh -c "cd /vagrant && bin/coco-dev-server"
+
diff --git a/scripts/vagrant/fillMongo.sh b/scripts/vagrant/fillMongo.sh
new file mode 100644
index 000000000..477051129
--- /dev/null
+++ b/scripts/vagrant/fillMongo.sh
@@ -0,0 +1,9 @@
+#!/bin/bash
+# Original content copyright (c) 2014 dpen2000 licensed under the MIT license
+mkdir -p /vagrant/temp
+cd /vagrant/temp
+rm -f dump.tar.gz
+rm -rf dump
+wget http://analytics.codecombat.com:8080/dump.tar.gz
+tar xzvf dump.tar.gz --no-same-owner
+mongorestore
diff --git a/scripts/vagrant/provision.sh b/scripts/vagrant/provision.sh
new file mode 100644
index 000000000..604752fb8
--- /dev/null
+++ b/scripts/vagrant/provision.sh
@@ -0,0 +1,22 @@
+#!/bin/bash
+# Original content copyright (c) 2014 dpen2000 licensed under the MIT license
+sudo apt-get -y update
+sudo apt-get -y install python-software-properties git
+sudo add-apt-repository -y ppa:chris-lea/node.js
+sudo apt-get -y update
+sudo apt-get -y install nodejs
+sudo apt-get -y install g++ make coffeescript
+cd /vagrant
+sudo npm install
+sudo npm install -g bower
+sudo npm install -g brunch
+sudo npm install -g geoip-lite
+bower install --allow-root
+sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
+echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list
+sudo apt-get -y update
+sudo apt-get -y install mongodb-org
+sudo apt-get -y install ruby1.9.1 ruby1.9.1-dev
+sudo gem install sass
+npm install mongoose
+bash /vagrant/scripts/vagrant/fillMongo.sh