diff --git a/_images/caravel.jpg b/_images/caravel.jpg
new file mode 100644
index 00000000000..2ae6d50f39f
Binary files /dev/null and b/_images/caravel.jpg differ
diff --git a/_images/created.png b/_images/created.png
new file mode 100644
index 00000000000..8204ffa056a
Binary files /dev/null and b/_images/created.png differ
diff --git a/_images/db_added.png b/_images/db_added.png
new file mode 100644
index 00000000000..a2865fc21a4
Binary files /dev/null and b/_images/db_added.png differ
diff --git a/_images/db_menu.png b/_images/db_menu.png
new file mode 100644
index 00000000000..4cd9841469a
Binary files /dev/null and b/_images/db_menu.png differ
diff --git a/_images/db_plus.png b/_images/db_plus.png
new file mode 100644
index 00000000000..ea918a7f788
Binary files /dev/null and b/_images/db_plus.png differ
diff --git a/_images/explore.png b/_images/explore.png
new file mode 100644
index 00000000000..29e62e4273b
Binary files /dev/null and b/_images/explore.png differ
diff --git a/_images/in_new_dash.png b/_images/in_new_dash.png
new file mode 100644
index 00000000000..59e7bd75ae6
Binary files /dev/null and b/_images/in_new_dash.png differ
diff --git a/_images/matrix.png b/_images/matrix.png
new file mode 100644
index 00000000000..1b4d80697ed
Binary files /dev/null and b/_images/matrix.png differ
diff --git a/_images/new_dash.png b/_images/new_dash.png
new file mode 100644
index 00000000000..a2a104dcb18
Binary files /dev/null and b/_images/new_dash.png differ
diff --git a/_images/pen.png b/_images/pen.png
new file mode 100644
index 00000000000..d492d18831b
Binary files /dev/null and b/_images/pen.png differ
diff --git a/_images/search.png b/_images/search.png
new file mode 100644
index 00000000000..dbdb2875d2f
Binary files /dev/null and b/_images/search.png differ
diff --git a/_sources/tutorial.txt b/_sources/tutorial.txt
new file mode 100644
index 00000000000..44d7d1c76c3
--- /dev/null
+++ b/_sources/tutorial.txt
@@ -0,0 +1,100 @@
+Tutorial
+========
+
+This basic linear tutorial will take you through connecting to a database,
+adding a table, creating a slice and a dashboard. First you'll need to tell
+Caravel where to find the database you want to
+query. First go to the database menu
+
+.. image:: _static/img/tutorial/db_menu.png
+ :scale: 30 %
+
+Now click on the ``+`` button to add a new entry
+
+.. image:: _static/img/tutorial/db_plus.png
+ :scale: 30 %
+
+Fill in an arbitrary reference name for the database, and you SqlAlchemy
+URI. To figure out how to construct your URI, check out the `SqlAlchemy
+documentation
This basic linear tutorial will take you through connecting to a database, +adding a table, creating a slice and a dashboard. First you’ll need to tell +Caravel where to find the database you want to +query. First go to the database menu
+
+Now click on the + button to add a new entry
+Fill in an arbitrary reference name for the database, and you SqlAlchemy +URI. To figure out how to construct your URI, check out the SqlAlchemy +documentation. +Then you can test your connection. If it works, you’ll see a positive popup +and list of the tables that SqlAlchemy has found for that URI.
+
+Once your database has been added, it’s time to add your table. Navigate
+using the navigation bar at the top to Sources -> Tables and click the
+plus (+) sign there (similar to the one ).
Now enter the name of the table in the Table Name textbox, and select
+the database you just created in the Database dropdown, hit save. At this
+moment, Caravel fetched the column names, their data types and tries to guess
+which fields are metrics in dimensions. From the list view, edit the table
+that you just created by clicking the tiny pen icon.
+Now you’re in the table editor, click on the “List Table Column” tab, +showing you the list of columns in your table as well as their data types.
+
+Click the checkboxes here that inform Caravel how your columns should be
+shown in the explore view, and which metrics should be created. Make sure
+to inform Caravel about your date columns. You could also create
+“SQL expression” columns here, or metrics in that tab as aggregate expressions,
+but let’s not do that just yet. Hit save.
You should now be back in the Table List view. Click on the name of the
+table you just created. You enter the “Explore” view for your table.
+The next step is to create a Slice. First, make sure to use a time filter +that is relevant.
+Note
+You can use some “natural language time expressions”
+either as relative (as in now, 4 weeks ago, or 1 year ago) as well
+as hard date or time expressions (as in 3015, 3016-01-01 or
+May).
Alter the form’s option and click Query until you get to an interesting
+cut of data, and click SAVE AS, enter a name, and you just created your first
+slice.
+This slice is now accessible in the slice list from the
+Menu -> Slices at any time. Note that this view is easily filterable and
+searchable.
+Now let’s create a dashboard. A dashboard is simply a collection of slices
+with metadata around their sizes, positions, CSS style and a few other things.
+Navigate to the dashboard list view Menu -> Dashboard and click the plus
+(+) sign. In the form, enter a name and pick the slice you just created.
+Hit Save, you should be back in Menu -> Dashboard. Now enter your
+new dashboard.
+Here you are. You can now resize and move the different slice(s), style them
+in the CSS modal window, and save right from here. For now, renaming the
+dashboard or adding on a new slice is done through the dashboard edit view,
+which is the same form as you used when you originally created the dashboard,
+and is accessible by clicking the edit pen icon from the dashboard list
+view (Menu -> Dashboards)
Here is a collection of short videos showing different aspect +of Caravel.
+This video demonstrates how Caravel works at a high level, it shows how +to navigate through datasets and dashboards that are already available.
+This video walk you through the creation of a simple dashboard as a +collection of data slices.
+This video shows how to create dynamic filters on dashboards, how to +immunize certain widgets from being affected by filters.
+A quick walkthrough on how to apply existing CSS templates, alter them and +create new ones.
+A short video on how to annotate your charts, the markdown language and +to toggle them on dashboards.
+This videos shows you how to expose a new table in Caravel, and how to
+define the semantics on how this can be accessed by others in the Explore
+and Dashboard views.
A walkthrough on how to create your own derived dimensions and metrics.
+