diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 91d41a000..9346a11c8 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -10,27 +10,31 @@ stages:
 web-frontend-eslint:
   stage: lint
   script:
-    - make install-web-frontend-dependencies
-    - make eslint-web-frontend
+    - cd web-frontend
+    - make install-dependencies
+    - make eslint
 
 web-frontend-stylelint:
   stage: lint
   script:
-    - make install-web-frontend-dependencies
-    - make stylelint-web-frontend
+    - cd web-frontend
+    - make install-dependencies
+    - make stylelint
 
 web-frontend-test:
   stage: test
   script:
-    - make install-web-frontend-dependencies
-    - make test-web-frontend
+    - cd web-frontend
+    - make install-dependencies
+    - make test
 
 backend-flake8:
   stage: lint
   image: python:3.6
   script:
-    - make install-backend-dependencies
-    - make lint-backend
+    - cd backend
+    - make install-dependencies
+    - make lint
 
 backend-pytest:
   stage: test
@@ -43,6 +47,7 @@ backend-pytest:
     POSTGRES_PASSWORD: baserow
     POSTGRES_DB: baserow
   script:
-    - make install-backend-dependencies
+    - cd backend
+    - make install-dependencies
     - export PYTHONPATH=$CI_PROJECT_DIR/backend/src
-    - make test-backend
+    - make test
diff --git a/Dockerfile b/Dockerfile
index c23b99bca..38fdaec84 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -7,6 +7,7 @@ WORKDIR /baserow
 ENV PYTHONPATH $PYTHONPATH:/baserow/backend/src
 
 RUN apt-get update && apt-get -y install make curl gnupg2
-RUN make install-dependencies
+RUN (cd backend && make install-dependencies)
+RUN (cd web-frontend && make install-dependencies)
 
 CMD tail -f /dev/null
diff --git a/Makefile b/Makefile
deleted file mode 100644
index 1ceddcfb5..000000000
--- a/Makefile
+++ /dev/null
@@ -1,37 +0,0 @@
-install-web-frontend-dependencies:
-	curl -sL https://deb.nodesource.com/setup_10.x | bash
-	apt-get install -y nodejs
-
-	curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
-	echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
-	apt-get update && apt-get install -y yarn
-
-	(cd web-frontend && yarn install)
-
-install-backend-dependencies:
-	apt-get update && apt-get install -y libpq-dev postgresql postgresql-contrib
-	pip install -r backend/requirements/base.txt
-	pip install -r backend/requirements/dev.txt
-
-install-dependencies: install-backend-dependencies install-web-frontend-dependencies
-
-eslint-web-frontend:
-	(cd web-frontend && yarn run eslint) || exit;
-
-stylelint-web-frontend:
-	(cd web-frontend && yarn run stylelint) || exit;
-
-lint-web-frontend: eslint-web-frontend stylelint-web-frontend
-
-test-web-frontend:
-	(cd web-frontend && yarn run test) || exit;
-
-lint-backend:
-	(cd backend && flake8 src/baserow) || exit;
-
-test-backend:
-	(cd backend && pytest tests) || exit;
-
-lint: lint-backend lint-web-frontend
-test: test-backend test-web-frontend
-lint-and-test: lint test
diff --git a/README.md b/README.md
index 285bd5b86..7fd70331e 100644
--- a/README.md
+++ b/README.md
@@ -54,17 +54,22 @@ $ docker exec -it baserow bash
 $ cd /baserow
 
 # run pytest for the backend
-$ make lint-backend
+$ cd backend
+$ make lint
 
 # run flake8 for the backend
-$ make test-backend
+$ cd backend
+$ make test
 
 # run jest for the web frontend
-$ make test-web-frontend
+$ cd web-frontend
+$ make test
 
 # run eslint for the web frontend
-$ make eslint-web-frontend
+$ cd web-frontend
+$ make eslint
 
 # run stylelint for the web frontend
-$ make stylelint-web-frontend
+$ cd web-frontend
+$ make stylelint
 ```
diff --git a/backend/Makefile b/backend/Makefile
new file mode 100644
index 000000000..40d2a54e3
--- /dev/null
+++ b/backend/Makefile
@@ -0,0 +1,10 @@
+install-dependencies:
+	apt-get update && apt-get install -y libpq-dev postgresql postgresql-contrib
+	pip install -r requirements/base.txt
+	pip install -r requirements/dev.txt
+
+lint:
+	flake8 src/baserow || exit;
+
+test:
+	pytest tests || exit;
diff --git a/web-frontend/Makefile b/web-frontend/Makefile
new file mode 100644
index 000000000..1ef651a35
--- /dev/null
+++ b/web-frontend/Makefile
@@ -0,0 +1,22 @@
+install-dependencies:
+	curl -sL https://deb.nodesource.com/setup_10.x | bash
+	apt-get install -y nodejs
+
+	curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
+	echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
+	apt-get update && apt-get install -y yarn
+
+	yarn install
+
+eslint:
+	yarn run eslint || exit;
+
+stylelint:
+	yarn run stylelint || exit;
+
+lint: eslint stylelint
+
+jest:
+	yarn run jest || exit;
+
+test: jest
diff --git a/web-frontend/package.json b/web-frontend/package.json
index 0abf5e240..73c1c76d8 100644
--- a/web-frontend/package.json
+++ b/web-frontend/package.json
@@ -11,7 +11,7 @@
     "start": "nuxt start",
     "eslint": "eslint --ext .js,.vue .",
     "stylelint": "stylelint **/*.scss --syntax scss",
-    "test": "jest -i --verbose false test/"
+    "jest": "jest -i --verbose false test/"
   },
   "dependencies": {
     "@fortawesome/fontawesome-free": "^5.8.2",