diff --git a/.gitignore b/.gitignore
index 13f3b3cebe1cf56cbb554b22b76f5002cd59b7b6..6f061d628f445956d8842c096a2a40a7c75ef699 100644
--- a/.gitignore
+++ b/.gitignore
@@ -40,3 +40,4 @@ bin/release/aws-eb/metabase-aws-eb.zip
 /reset-password-artifacts
 /.env
 /npm-debug.log
+/screenshots
diff --git a/circle.yml b/circle.yml
index 7acaa2aa3e2e133ef4856713a1136b961b673e6c..4ad14e9b7dc9a3d3634d9efa46cbc7d0ba62302e 100644
--- a/circle.yml
+++ b/circle.yml
@@ -48,4 +48,5 @@ deployment:
       - ./bin/deploy-webhook $DEPLOY_WEBHOOK
 general:
   artifacts:
-    - "target/uberjar/metabase.jar"
+    - target/uberjar/metabase.jar
+    - screenshots
diff --git a/frontend/test/e2e/auth/login.spec.js b/frontend/test/e2e/auth/login.spec.js
index 9152d197ed0f1932402dd7a220733e3d6c192044..5daa3dd3eb6dcd12992d4235c8a52a7b0a6e2445 100644
--- a/frontend/test/e2e/auth/login.spec.js
+++ b/frontend/test/e2e/auth/login.spec.js
@@ -1,5 +1,7 @@
 import { startServer, isReady } from "../support/start-server";
 import webdriver, { By, until } from "selenium-webdriver";
+import fs from "fs-promise";
+import path from "path";
 
 jasmine.DEFAULT_TIMEOUT_INTERVAL = 60000;
 
@@ -15,6 +17,16 @@ function waitForUrl(driver, url, timeout = 5000) {
     return driver.wait(async () => await driver.getCurrentUrl() === url, timeout);
 }
 
+async function screenshot(driver, filename) {
+    let dir = path.dirname(filename);
+    if (dir && !(await fs.exists(dir))){
+        await fs.mkdir(dir);
+    }
+
+    let image = await driver.takeScreenshot();
+    await fs.writeFile(filename, image, 'base64');
+}
+
 describe("auth/login", () => {
     let server, driver;
 
@@ -39,6 +51,7 @@ describe("auth/login", () => {
             await driver.get(`${server.host}/`);
             await waitForUrl(driver, `${server.host}/auth/login?redirect=%2F`);
             expect(await driver.isElementPresent(By.css("[name=email]"))).toEqual(true);
+            await screenshot(driver, "screenshots/auth-login.png");
         });
 
         it ("should log you in", async () => {
@@ -65,6 +78,11 @@ describe("auth/login", () => {
             await driver.get(`${server.host}/`);
             await waitForUrl(driver, `${server.host}/`);
         });
+
+        it ("loads the qb", async () => {
+            await driver.get(`${server.host}/q#eyJuYW1lIjpudWxsLCJkYXRhc2V0X3F1ZXJ5Ijp7ImRhdGFiYXNlIjoxLCJ0eXBlIjoibmF0aXZlIiwibmF0aXZlIjp7InF1ZXJ5Ijoic2VsZWN0ICdvaCBoYWkgZ3Vpc2Ug8J-QsScifSwicGFyYW1ldGVycyI6W119LCJkaXNwbGF5Ijoic2NhbGFyIiwidmlzdWFsaXphdGlvbl9zZXR0aW5ncyI6e319`);
+            await screenshot(driver, "screenshots/qb.png");
+        });
     });
 
     afterAll(async () => {