diff --git a/docs/docs/guides/ga4-guide.md b/docs/docs/guides/ga4-guide.md
new file mode 100644
index 00000000000..045f6871b46
--- /dev/null
+++ b/docs/docs/guides/ga4-guide.md
@@ -0,0 +1,213 @@
+---
+title: "Google Analytics Guide"
+sidebar_label: "Google Analytics (GA4) Demo"
+sidebar_position: 5
+tags:
+ - Tutorial
+ - Quickstart
+ - Example Project
+---
+
+# Google Analytics (GA4) Demo Guide
+
+Rill makes it easy to visualize your GA4 data, empowering you to explore trends in website activity and make data-driven decisions with flexible, interactive analysis.
+
+:::note prerequisites
+Before you begin, ensure you have:
+- [Exported your GA4 data to BigQuery](https://support.google.com/analytics/answer/9823238?hl=en#step2&zippy=%2Cin-this-article)
+- [A service account key with access to BigQuery](https://cloud.google.com/bigquery/docs/use-service-accounts)
+
+You can explore the dataset directly in BigQuery:
+[GA4 Sample Dataset on BigQuery](https://console.cloud.google.com/bigquery?p=bigquery-public-data&d=ga4_obfuscated_sample_ecommerce&t=events_20210131&page=table&ref=ga4bigquery.com&inv=1&invt=Ab3HlA&project=rilldata)
+:::
+
+## Introduction
+
+This guide will walk you through each step, from ingesting your GA4 data to building and exploring interactive dashboards in Rill.
+
+---
+
+## Step 1: Ingest Data
+
+
+
+
+Start by connecting to your GA4 data source. For this guide, we’ll use Google’s public GA4 dataset, which is available in BigQuery.
+
+:::note Static Data
+The data provided by Google is a static dataset with data from November 2020 to 2021.
+:::
+
+
+
+
+When selecting BigQuery, Rill will prompt for:
+```
+`SQL` : select * from project_id.dataset.table; #select * from `bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_20210131`
+`project_id`: your google console project_id
+`name`: name of source in Rill
+```
+
+### Partitioned GA4 Data
+
+
+
+
+If you are following along with this guide, use the following public dataset:
+
+- **Project:** `bigquery-public-data`
+- **Dataset:** `ga4_obfuscated_sample_ecommerce`
+- **Table prefix:** `events_*`
+
+If you are using your own data, you can make use of GA4's partitioned data using the `__TABLE_SUFFIX` parameter.
+
+
+
+
+---
+
+## Step 2: Expand the Columns
+
+After connecting your data, you may want to expand nested columns or flatten the event structure for easier analysis by creating a model.
+
+
+
+
+:::tip Rill's Default Embedded Database, DuckDB
+By default, Rill uses DuckDB as its underlying embedded database. This means that for any modeling, this will be done in DuckDB SQL.
+:::
+
+
+
+
+
+Sample Model SQL
+
+```SQL
+SELECT
+ event_date,
+ user_pseudo_id,
+ to_timestamp(event_timestamp/ 1000000) as event_timestamp, -- convert 1608921004450512 to a proper timestamp
+ to_timestamp(user_first_touch_timestamp / 1000000) as user_first_touch_timestamp, --convert 1608921004450512 to timestamp, used to count time of session later
+
+ stream_id,
+ platform,
+ event_name,
+ event_value_in_usd,
+ event_bundle_sequence_id,
+
+ -- privacy_info
+ -- json_extract(main.privacy_info, '$.ads_storage')::VARCHAR AS priv_info_ads_storage,
+ -- json_extract(main.privacy_info, '$.analytics_storage')::VARCHAR AS priv_info_analytics_storage,
+ -- json_extract(main.privacy_info, '$.uses_transient_token')::VARCHAR AS priv_info_uses_transient_token,
+
+ -- user_ltv
+ json_extract(main.user_ltv, '$.currency')::VARCHAR AS ltv_currency,
+ CAST(json_extract(main.user_ltv, '$.revenue') AS DOUBLE) AS ltv_revenue,
+
+ -- device
+ -- json_extract(main.device, '$.advertising_id')::VARCHAR AS device_advertising_id,
+ json_extract(main.device, '$.category')::VARCHAR AS device_category,
+ -- json_extract(main.device, '$.is_limited_ad_tracking')::VARCHAR AS device_is_limited_ad_tracking,
+ json_extract(main.device, '$.language')::VARCHAR AS device_language,
+ json_extract(main.device, '$.mobile_brand_name')::VARCHAR AS device_mobile_brand_name,
+ -- json_extract(main.device, '$.mobile_marketing_name')::VARCHAR AS device_mobile_marketing_name,
+ json_extract(main.device, '$.mobile_model_name')::VARCHAR AS device_mobile_model_name,
+ -- json_extract(main.device, '$.mobile_os_hardware_model')::VARCHAR AS device_mobile_os_hardware_model,
+ json_extract(main.device, '$.operating_system')::VARCHAR AS device_operating_system,
+ json_extract(main.device, '$.operating_system_version')::VARCHAR AS device_operating_system_version,
+ -- CAST(json_extract(main.device, '$.time_zone_offset_seconds') AS INT) AS device_time_zone_offset_seconds,
+ -- json_extract(main.device, '$.vendor_id')::VARCHAR AS device_vendor_id,
+ json_extract(main.device, '$.web_info.browser')::VARCHAR AS device_browser,
+ json_extract(main.device, '$.web_info.browser_version')::VARCHAR AS device_browser_version,
+
+ -- geo
+ json_extract(main.geo, '$.city')::VARCHAR AS geo_city,
+ json_extract(main.geo, '$.continent')::VARCHAR AS geo_continent,
+ json_extract(main.geo, '$.country')::VARCHAR AS geo_country,
+ -- json_extract(main.geo, '$.metro')::VARCHAR AS geo_metro,
+ json_extract(main.geo, '$.region')::VARCHAR AS geo_region,
+ json_extract(main.geo, '$.sub_continent')::VARCHAR AS geo_sub_continent,
+
+ -- traffic_source
+ json_extract(main.traffic_source, '$.medium')::VARCHAR AS traffic_medium,
+ json_extract(main.traffic_source, '$.name')::VARCHAR AS traffic_name,
+ json_extract(main.traffic_source, '$.source')::VARCHAR AS traffic_source,
+
+ -- ecommerce
+ CAST(json_extract(main.ecommerce, '$.purchase_revenue') AS DOUBLE) AS ecommerce_purchase_revenue,
+ CAST(json_extract(main.ecommerce, '$.purchase_revenue_in_usd') AS DOUBLE) AS ecommerce_purchase_revenue_in_usd,
+ CAST(json_extract(main.ecommerce, '$.refund_value') AS DOUBLE) AS ecommerce_refund_value,
+ CAST(json_extract(main.ecommerce, '$.refund_value_in_usd') AS DOUBLE) AS ecommerce_refund_value_in_usd,
+ CAST(json_extract(main.ecommerce, '$.shipping_value') AS DOUBLE) AS ecommerce_shipping_value,
+ CAST(json_extract(main.ecommerce, '$.shipping_value_in_usd') AS DOUBLE) AS ecommerce_shipping_value_in_usd,
+ CAST(json_extract(main.ecommerce, '$.tax_value') AS DOUBLE) AS ecommerce_tax_value,
+ CAST(json_extract(main.ecommerce, '$.tax_value_in_usd') AS DOUBLE) AS ecommerce_tax_value_in_usd,
+ -- CAST(json_extract(main.ecommerce, '$.total_item_quantity') AS INT) AS ecommerce_total_item_quantity,
+ json_extract(main.ecommerce, '$.transaction_id')::VARCHAR AS ecommerce_transaction_id,
+ -- CAST(json_extract(main.ecommerce, '$.unique_items') AS INT) AS ecommerce_unique_items,
+
+-- items (exploded)
+-- json_extract(item.value, '$.affiliation')::VARCHAR AS value_item_affiliation,
+-- json_extract(item.value, '$.coupon')::VARCHAR AS value_item_coupon,
+json_extract(item.value, '$.creative_name')::VARCHAR AS value_creative_name,
+-- json_extract(item.value, '$.creative_slot')::VARCHAR AS value_creative_slot,
+json_extract(item.value, '$.item_brand')::VARCHAR AS value_item_brand,
+json_extract(item.value, '$.item_category')::VARCHAR AS value_item_category,
+-- json_extract(item.value, '$.item_category2')::VARCHAR AS value_item_category2,
+-- json_extract(item.value, '$.item_category3')::VARCHAR AS value_item_category3,
+-- json_extract(item.value, '$.item_category4')::VARCHAR AS value_item_category4,
+-- json_extract(item.value, '$.item_category5')::VARCHAR AS value_item_category5,
+json_extract(item.value, '$.item_id')::VARCHAR AS value_item_id,
+-- json_extract(item.value, '$.item_list_id')::VARCHAR AS value_item_list_id,
+json_extract(item.value, '$.item_list_index')::VARCHAR AS value_item_list_index,
+json_extract(item.value, '$.item_list_name')::VARCHAR AS value_item_list_name,
+json_extract(item.value, '$.item_name')::VARCHAR AS value_item_name,
+CAST(json_extract(item.value, '$.item_refund') AS DOUBLE) AS value_item_refund,
+CAST(json_extract(item.value, '$.item_refund_in_usd') AS DOUBLE) AS value_item_refund_in_usd,
+CAST(json_extract(item.value, '$.item_revenue') AS DOUBLE) AS value_item_revenue,
+CAST(json_extract(item.value, '$.item_revenue_in_usd') AS DOUBLE) AS value_item_revenue_in_usd,
+json_extract(item.value, '$.item_variant')::VARCHAR AS value_item_variant,
+-- json_extract(item.value, '$.location_id')::VARCHAR AS value_location_id,
+CAST(json_extract(item.value, '$.price') AS DOUBLE) AS value_item_price,
+CAST(json_extract(item.value, '$.price_in_usd') AS DOUBLE) AS value_item_price_in_usd,
+-- json_extract(item.value, '$.promotion_id')::VARCHAR AS value_promotion_id,
+json_extract(item.value, '$.promotion_name')::VARCHAR AS value_promotion_name,
+-- CAST(json_extract(item.value, '$.quantity') AS INT) AS value_item_quantity
+
+FROM obfuscated_sample_ecommerce AS main,
+json_each(main.items) AS item
+```
+
+
+---
+
+## Step 3: Create a Metrics View
+
+With your data modeled, you can now define metrics and dimensions for analysis. In Rill, you have the option to create metrics via AI, which will send the schema and related information to OpenAI to build a basic metrics view. From there, you can make changes, add, or remove unneeded dimensions and measures.
+
+
+
+
+Leverage Rill’s AI-powered features to quickly generate metrics views tailored to your business questions.
+
+
+
+
+---
+
+## Step 4: Visualize Your Data
+
+Finally, explore your GA4 data with interactive dashboards and visualizations. Here are a few example analyses you can perform in Rill:
+
+- **Traffic Trends:** Track daily or weekly website sessions and identify spikes or drops in user activity.
+- **User Segmentation:** Break down users by country, device type, or traffic source to understand your audience.
+- **Ecommerce Performance:** Analyze purchase revenue, refund rates, and top-selling products over time.
+- **Event Analysis:** Visualize key events (like sign-ups or checkouts) to optimize conversion funnels.
+
+
+
+
+Use Rill’s dashboard to analyze trends, segment users, and uncover insights from your GA4 events.
+
+---
\ No newline at end of file
diff --git a/docs/docs/guides/large-local-file.md b/docs/docs/guides/large-local-file.md
new file mode 100644
index 00000000000..fed68514eff
--- /dev/null
+++ b/docs/docs/guides/large-local-file.md
@@ -0,0 +1,10 @@
+---
+title: Working with a Large File Locally
+sidebar_label: "Large Local File"
+hide_table_of_contents: false
+sidebar_position: 50
+
+tags:
+ - Quickstart
+ - Tutorial
+---
diff --git a/docs/docs/guides/rill-clickhouse/3-r_ch_metrics-view.md b/docs/docs/guides/rill-clickhouse/3-r_ch_metrics-view.md
index c9ffd1e92f1..9dde895160b 100644
--- a/docs/docs/guides/rill-clickhouse/3-r_ch_metrics-view.md
+++ b/docs/docs/guides/rill-clickhouse/3-r_ch_metrics-view.md
@@ -1,6 +1,6 @@
---
-title: "3. Create Metrics View Dashboard in Rill"
-sidebar_label: "3. Create Metrics View Dashboard in Rill"
+title: "3. Create Metrics View in Rill"
+sidebar_label: "3. Create Metrics View in Rill"
sidebar_position: 3
hide_table_of_contents: false
tags:
@@ -8,8 +8,6 @@ tags:
- Tutorial
---
-## Create the Metrics View.
-
If you noticed in the previous screenshot, we had a table called `uk_price_paid`. This is a dataset that is used in ClickHouse's Learning portal, so we thought it was fitting to go ahead and continue on this dataset.
:::note
diff --git a/docs/docs/guides/rill-clickhouse/4-r_ch_dashboard.md b/docs/docs/guides/rill-clickhouse/4-r_ch_dashboard.md
index bacc7aff0d4..41967eaf131 100644
--- a/docs/docs/guides/rill-clickhouse/4-r_ch_dashboard.md
+++ b/docs/docs/guides/rill-clickhouse/4-r_ch_dashboard.md
@@ -8,9 +8,6 @@ tags:
- Tutorial
---
-
-### Create the explore dashboard
-
When you're ready, you can create the visualization on top of the metric layer. Let's select `Create Explore dashboard`. This will create a simple explore-dashboards/uk_price_paid_metrics_explore.yaml file that reads in all the dimensions and measures. For more information on the available key-pairs, please refer to the [reference documentation.](https://docs.rilldata.com/reference/project-files/explore-dashboards)
---
diff --git a/docs/docs/guides/rill-clickhouse/5-r_ch_deploy.md b/docs/docs/guides/rill-clickhouse/5-r_ch_deploy.md
index be47745b259..af103f71c66 100644
--- a/docs/docs/guides/rill-clickhouse/5-r_ch_deploy.md
+++ b/docs/docs/guides/rill-clickhouse/5-r_ch_deploy.md
@@ -9,21 +9,20 @@ tags:
---
:::tip Rill Cloud Trial
-If this is the first time you have deployed a project onto Rill Cloud, you will automatically start your [Rill Cloud Trial] () upon deployment of your Rill project. Your trial will last for 30 days. Please refer [here] () for more information on the details of your trial.
+If this is the first time you have deployed a project onto Rill Cloud, you will automatically start your [Rill Cloud Trial](/other/FAQ#rill-cloud-trial) upon deployment of your Rill project. Your trial will last for 30 days. Please refer [here](/other/FAQ#rill-cloud-trial) for more information on the details of your trial.
:::
## Deploy via the UI!
-Select the `Deploy to share` button in the top right corner of a dashboard.
+Select the `Deploy` button in the top right corner of a dashboard.
Steps to deploy to Rill Cloud:
-1. Select the `Deploy to share` button.
-2. Select `continue` on the free trial [link to article of free trial explanation]
- - If you have multiple organizations, please select Rill_Learn and `continue`.
+1. Select the `Deploy` button.
+2. Select `continue` on the [free trial UI](/other/account-management/billing#trial-plan).
3. Select `continue` on user invites.
4. You will be navigated to the /status page of your deployed project.
diff --git a/docs/docs/guides/rill-clickhouse/r_ch_ingest.md b/docs/docs/guides/rill-clickhouse/r_ch_ingest.md
index 4fe615eb2b0..bd9c0b0d842 100644
--- a/docs/docs/guides/rill-clickhouse/r_ch_ingest.md
+++ b/docs/docs/guides/rill-clickhouse/r_ch_ingest.md
@@ -1,7 +1,7 @@
---
title: "Ingesting Data into ClickHouse"
sidebar_label: "Ingesting Data Directly into ClickHouse"
-sidebar_position: 4
+sidebar_position: 40
hide_table_of_contents: false
tags:
- OLAP:ClickHouse
diff --git a/docs/docs/guides/rill-motherduck/1-r_md_launch.md b/docs/docs/guides/rill-motherduck/1-r_md_launch.md
new file mode 100644
index 00000000000..64bab19f696
--- /dev/null
+++ b/docs/docs/guides/rill-motherduck/1-r_md_launch.md
@@ -0,0 +1,51 @@
+---
+title: "1. Launch Rill Developer"
+sidebar_label: "1. Launch Rill Developer"
+sidebar_position: 3
+hide_table_of_contents: false
+tags:
+ - OLAP:ClickHouse
+ - Tutorial
+---
+
+:::note prerequisites
+You will need to [install Rill](https://docs.rilldata.com/home/install).
+
+```bash
+curl https://rill.sh | sh
+```
+
+You need a MotherDuck token to connect to your MotherDuck database.
+Check our MotherDuck's documentation on [how to generate an access token](https://motherduck.com/docs/key-tasks/authenticating-and-connecting-to-motherduck/authenticating-to-motherduck/#authentication-using-an-access-token).
+
+
+:::
+## Start Rill Developer
+
+```yaml
+rill start my-rill-motherduck
+```
+
+After running the command, Rill Developer should automatically open in your default browser. If not, you can access it via the following url:
+
+```
+localhost:9009
+```
+
+You should see the following webpage appear.
+
+
+
+
+Let's go ahead and select `Start with an empty project`.
+
+
+ Where am I in the terminal?
+
+ You can use the `pwd` command to see which directory in the terminal you are.
+ If this is not where you'd like to make the directory use the `cd` command to change directories.
+
+
+
+
+
diff --git a/docs/docs/guides/rill-motherduck/2-r_md_connect.md b/docs/docs/guides/rill-motherduck/2-r_md_connect.md
new file mode 100644
index 00000000000..44ea0854abe
--- /dev/null
+++ b/docs/docs/guides/rill-motherduck/2-r_md_connect.md
@@ -0,0 +1,66 @@
+---
+title: "2. Connect to MotherDuck"
+sidebar_label: "2. Connect to MotherDuck"
+sidebar_position: 3
+hide_table_of_contents: false
+tags:
+ - OLAP:MotherDuck
+ - Tutorial
+---
+
+## Default OLAP connection and Connect to MotherDuck
+
+Within Rill you can set the default OLAP connection on the [project level](https://docs.rilldata.com/reference/project-files/rill-yaml) or the [dashboard level](https://docs.rilldata.com/reference/project-files/explore-dashboards).
+For this course, we will set it up on the project level so all of our dashboards will be based on our MotherDuck table.
+
+### Connect to MotherDuck
+We can create the MotherDuck connection by modifying the connectors/duckdb.yaml.
+
+
+```yaml
+type: connector
+driver: duckdb
+
+path: "md:my_db"
+
+init_sql: |
+ INSTALL 'motherduck';
+ LOAD 'motherduck';
+ SET motherduck_token= '{{.env.connector.motherduck.token}}'
+```
+
+
+
+
+:::tip change the connector name
+While not necessary, I personally like to change the name to motherduck.yaml to make it clear which connector to use.
+
+:::
+### Rill Project Default
+
+By default, we explicitly set the project OLAP_connector to duckdb. This is based on the connector.yaml name. If you make any changes to the filename, don't forget to change the name in your rill.yaml file.
+
+```yaml
+compiler: rillv1
+
+title: "Rill and MotherDuck Project"
+olap_connector: motherduck #default set to duckdb, only change if you modified the filename
+```
+
+For more information, take a look at our [MotherDuck documentation](/reference/project-files/connectors#motherduck).
+
+### Securing Your MotherDuck Token
+
+We do not recommend plain text passwords in the connector file, as you likely noticed in the sample YAML, and screenshot. To use the sample, you'll need to create a `.env` in the root directory and add the following:
+
+
+```
+connector.motherduck.token="eyJhb....SAMPLETOKEN"
+```
+
+## Confirm Connection to MotherDuck
+
+You'll see a change in the bottom left connector that gives you a look into your MotherDuck tables.
+
+
+
\ No newline at end of file
diff --git a/docs/docs/guides/rill-motherduck/3-r_md_metrics-view.md b/docs/docs/guides/rill-motherduck/3-r_md_metrics-view.md
new file mode 100644
index 00000000000..4b73be10c72
--- /dev/null
+++ b/docs/docs/guides/rill-motherduck/3-r_md_metrics-view.md
@@ -0,0 +1,62 @@
+---
+title: "3. Create Metrics View in Rill"
+sidebar_label: "3. Create Metrics View in Rill"
+sidebar_position: 3
+hide_table_of_contents: false
+tags:
+ - OLAP:MotherDuck
+ - Tutorial
+---
+
+You'll need to use a table that exists in your database. In this tutorial, we'll be using `rill_auction_data`.
+
+:::note
+Don't have any good dataset to use? See [Ingest into MotherDuck](./r_md_ingest.md) to ingest directly into MotherDuck from Rill.
+:::
+
+### Create metrics view
+
+Let's create a metrics view based on the table via the `Generate metrics via AI`.
+
+
+
+
+### What are we looking at?
+
+This is our metrics view, where we can define measures and dimensions to be used on dashboards.
+
+```yaml
+# Metrics view YAML
+# Reference documentation: https://docs.rilldata.com/reference/project-files/explore-dashboards
+# This file was generated using AI.
+
+version: 1
+type: metrics_view
+
+display_name: Auction Data Raw Metrics
+connector: motherduck
+model: auction_data_raw
+timeseries: __time
+
+
+dimensions:
+ ...
+
+measures:
+ ...
+```
+
+
+
+
+While we go into more details in our [Rill Basics course](/guides/rill-basics/dashboard) and [our documentation](https://docs.rilldata.com/build/dashboards/), let's go over it quickly.
+
+---
+
+`timeseries` - This is our time column that is used on as our x-axis for graphs.
+
+`connector` - this is our manually defined MotherDuck connector
+
+`dimensions` - These are our categorical columns that we can use on the dashboard to filter and slice;
+
+`measures` - These are our numerical aggregates defined in the metrics layer. We can see functions such as MAX(), COUNT(), and AVG() used on the underlying table.
\ No newline at end of file
diff --git a/docs/docs/guides/rill-motherduck/4-r_md_dashboard.md b/docs/docs/guides/rill-motherduck/4-r_md_dashboard.md
new file mode 100644
index 00000000000..6b5465bc9bb
--- /dev/null
+++ b/docs/docs/guides/rill-motherduck/4-r_md_dashboard.md
@@ -0,0 +1,32 @@
+---
+title: "4. Create Explore Dashboard in Rill"
+sidebar_label: "4. Create Explore Dashboard in Rill"
+sidebar_position: 4
+hide_table_of_contents: false
+tags:
+ - OLAP:MotherDuck
+ - Tutorial
+---
+
+When you're ready, you can create the visualization on top of the metric layer. Let's select `Create Explore dashboard`. This will create a simple dashboards/rill_auction_data_metrics_explore.yaml file that reads in all the dimensions and measures. For more information on the available key-pairs, please refer to the [reference documentation.](https://docs.rilldata.com/reference/project-files/explore-dashboards)
+
+---
+
+### What can we do in Rill?
+
+Rill provides a powerful and intuitive slice-and-dice explore dashboard that transforms your raw data into actionable business decisions. With its analytical capabilities, you can drill down into specific dimensions, compare metrics across different segments, and uncover hidden patterns that drive informed decision-making. The interactive interface allows you to pivot, filter, and aggregate your data on-the-fly, giving you the flexibility to explore your MotherDuck tables from every possible angle and extract meaningful insights that can directly impact your business outcomes.
+
+### [Compare dimension values](/explore/dashboard-101/)
+
+
+
+
+### [Dig deeper into specific measures](/explore/dashboard-101/tdd)
+
+
+
+
+#### [View your data in a traditional pivot or flat table ](/explore/dashboard-101/pivot)
+
+
+
diff --git a/docs/docs/guides/rill-motherduck/5-r_md_deploy.md b/docs/docs/guides/rill-motherduck/5-r_md_deploy.md
new file mode 100644
index 00000000000..02e81e905db
--- /dev/null
+++ b/docs/docs/guides/rill-motherduck/5-r_md_deploy.md
@@ -0,0 +1,31 @@
+---
+title: "5. Deploy to Rill Cloud"
+sidebar_label: '5. Deploy to Rill Cloud'
+sidebar_position: 9
+hide_table_of_contents: false
+tags:
+ - OLAP:MotherDuck
+ - Tutorial
+---
+:::tip Rill Cloud Trial
+
+If this is the first time you have deployed a project onto Rill Cloud, you will automatically start your [Rill Cloud Trial](/other/FAQ#rill-cloud-trial) upon deployment of your Rill project. Your trial will last for 30 days. Please refer [here](/other/FAQ#rill-cloud-trial) for more information on the details of your trial.
+
+:::
+
+## Deploy via the UI!
+
+Select the `Deploy` button in the top right corner of a dashboard.
+
+
+
+
+Steps to deploy to Rill Cloud:
+1. Select the `Deploy` button.
+2. Select `continue` on the [free trial UI](/other/account-management/billing#trial-plan).
+3. Select `continue` on user invites.
+4. You will be navigated to the /status page of your deployed project.
+
+
+Take note of the following features in the UI:
+
diff --git a/docs/docs/guides/rill-motherduck/_category_.yml b/docs/docs/guides/rill-motherduck/_category_.yml
new file mode 100644
index 00000000000..537289d5e1a
--- /dev/null
+++ b/docs/docs/guides/rill-motherduck/_category_.yml
@@ -0,0 +1,6 @@
+position: 02
+label: "Visualize your MotherDuck Tables in Rill"
+collapsible: true
+collapsed: true
+
+
diff --git a/docs/docs/guides/rill-motherduck/index.md b/docs/docs/guides/rill-motherduck/index.md
new file mode 100644
index 00000000000..7e64fe5539f
--- /dev/null
+++ b/docs/docs/guides/rill-motherduck/index.md
@@ -0,0 +1,36 @@
+---
+title: Visualize your MotherDuck Tables in Rill!
+description: tutorial for MotherDuck
+sidebar_position: 3
+tags:
+ - Tutorial
+ - OLAP:MotherDuck
+---
+
+
+
+
+
+
+
+In this tutorial, you'll learn how to use MotherDuck as your OLAP database with Rill to create powerful visualizations from your MotherDuck tables. Since both Rill and MotherDuck are built on DuckDB, they work seamlessly together, providing you with a smooth and efficient analytics experience.
+
+
+
+The overall steps of the tutorial are:
+1. Launch Rill Developer
+2. Connect to your MotherDuck server via a Rill live connector.
+3. Create a metrics view based on a table in MotherDuck
+4. Create an explore dashboard via Generative AI
+5. Deploy the dashboard to Rill Cloud, and share to colleagues
+
+Once completed, you will have a basic understanding of how to use Rill Developer with MotherDuck and can customize the Rill Developer project to create further metrics views based on MotherDuck tables and create more dashboards.
+
+### Let's get started!
+
+:::tip Direct Ingestion into MotherDuck via Rill
+
+While we won't go over it directly in this tutorial, you can use Rill as an ingestor into MotherDuck. See the list of our [supported connectors](/build/connect) for more information.
+
+:::
+
diff --git a/docs/docs/guides/rill-motherduck/r_md_ingest.md b/docs/docs/guides/rill-motherduck/r_md_ingest.md
new file mode 100644
index 00000000000..c76eed7c9da
--- /dev/null
+++ b/docs/docs/guides/rill-motherduck/r_md_ingest.md
@@ -0,0 +1,60 @@
+---
+title: "Ingesting Data into MotherDuck"
+sidebar_label: "Ingesting Data Directly into MotherDuck"
+sidebar_position: 40
+hide_table_of_contents: false
+tags:
+ - OLAP:MotherDuck
+ - Tutorial
+---
+
+## Importing your own Data into MotherDuck
+
+
+
+Since both Rill and MotherDuck are based on DuckDB, the read/write capabilities work without having to enable any feature flags.
+
+Simple use the Rill UI to connect to a data source and define the output to MotherDuck.
+
+
+
+
+
+## Ingestion directly from GCS to MotherDuck
+
+
+```yaml
+# Model YAML
+# Reference documentation: https://docs.rilldata.com/reference/project-files/advanced-models
+
+type: model
+materialize: true
+
+connector: motherduck
+sql: |
+ select * from read_parquet('gs://rilldata-public/auction_data.parquet')
+
+output:
+ connector: motherduck
+```
+
+## Ingestion directly from BigQuery to MotherDuck
+
+In the below example, we are importing data from Big Query directly to MotherDuck using GCS as an intermediate stage.
+
+
+```yaml
+type: model
+materialize: true
+
+connector: bigquery
+sql: |
+ SELECT
+ *
+ FROM `..`
+
+project_id: ""
+
+output:
+ connector: motherduck
+```
diff --git a/docs/docs/guides/visualize-logging.md b/docs/docs/guides/visualize-logging.md
new file mode 100644
index 00000000000..8f9794049d3
--- /dev/null
+++ b/docs/docs/guides/visualize-logging.md
@@ -0,0 +1,29 @@
+---
+title: "Visualize your Logging Data"
+sidebar_label: "Visualize Logging Data Demo"
+sidebar_position: 10
+hide_table_of_contents: false
+tags:
+ - Tutorial
+ - Quickstart
+ - Example Project
+---
+
+## Introduction
+
+There are many different types of CDN, logging systems blah blah
+
+### Requirements for Rill (embedded DuckDB) vs. Using ClickHouse (Clickpipes)
+Pros and Cons
+
+
+## Setting up the data pipeline (in Rill) or skip if you've already have this is ClickHouse table
+
+## Exploring the Data in Rill
+
+## Creating the metrics view
+
+## Visualize Data
+
+
+
diff --git a/docs/static/img/guides/ga4/add-source.png b/docs/static/img/guides/ga4/add-source.png
new file mode 100644
index 00000000000..1f03860d94a
Binary files /dev/null and b/docs/static/img/guides/ga4/add-source.png differ
diff --git a/docs/static/img/guides/ga4/bigquery-partitioned.png b/docs/static/img/guides/ga4/bigquery-partitioned.png
new file mode 100644
index 00000000000..6ff1a4862fe
Binary files /dev/null and b/docs/static/img/guides/ga4/bigquery-partitioned.png differ
diff --git a/docs/static/img/guides/ga4/create-metrics-with-ai.png b/docs/static/img/guides/ga4/create-metrics-with-ai.png
new file mode 100644
index 00000000000..b6f36e73d56
Binary files /dev/null and b/docs/static/img/guides/ga4/create-metrics-with-ai.png differ
diff --git a/docs/static/img/guides/ga4/create-model.png b/docs/static/img/guides/ga4/create-model.png
new file mode 100644
index 00000000000..749b128fb6a
Binary files /dev/null and b/docs/static/img/guides/ga4/create-model.png differ
diff --git a/docs/static/img/guides/ga4/explore-dashboard.png b/docs/static/img/guides/ga4/explore-dashboard.png
new file mode 100644
index 00000000000..78bd62d790a
Binary files /dev/null and b/docs/static/img/guides/ga4/explore-dashboard.png differ
diff --git a/docs/static/img/guides/ga4/metrics-view.png b/docs/static/img/guides/ga4/metrics-view.png
new file mode 100644
index 00000000000..7feba477fe9
Binary files /dev/null and b/docs/static/img/guides/ga4/metrics-view.png differ
diff --git a/docs/static/img/guides/ga4/model.png b/docs/static/img/guides/ga4/model.png
new file mode 100644
index 00000000000..5edfec11338
Binary files /dev/null and b/docs/static/img/guides/ga4/model.png differ
diff --git a/docs/static/img/guides/ga4/source-bigquery-suffix.png b/docs/static/img/guides/ga4/source-bigquery-suffix.png
new file mode 100644
index 00000000000..8a24de039ea
Binary files /dev/null and b/docs/static/img/guides/ga4/source-bigquery-suffix.png differ
diff --git a/docs/static/img/guides/ga4/source-single-day.png b/docs/static/img/guides/ga4/source-single-day.png
new file mode 100644
index 00000000000..1c84a0651af
Binary files /dev/null and b/docs/static/img/guides/ga4/source-single-day.png differ
diff --git a/docs/static/img/tutorials/md/MotherDuck-compare.png b/docs/static/img/tutorials/md/MotherDuck-compare.png
new file mode 100644
index 00000000000..383fc2ec343
Binary files /dev/null and b/docs/static/img/tutorials/md/MotherDuck-compare.png differ
diff --git a/docs/static/img/tutorials/md/MotherDuck-confirm.png b/docs/static/img/tutorials/md/MotherDuck-confirm.png
new file mode 100644
index 00000000000..ad304afe227
Binary files /dev/null and b/docs/static/img/tutorials/md/MotherDuck-confirm.png differ
diff --git a/docs/static/img/tutorials/md/MotherDuck-connector.png b/docs/static/img/tutorials/md/MotherDuck-connector.png
new file mode 100644
index 00000000000..e4307f31703
Binary files /dev/null and b/docs/static/img/tutorials/md/MotherDuck-connector.png differ
diff --git a/docs/static/img/tutorials/md/MotherDuck-deploy.png b/docs/static/img/tutorials/md/MotherDuck-deploy.png
new file mode 100644
index 00000000000..5a03a527eb0
Binary files /dev/null and b/docs/static/img/tutorials/md/MotherDuck-deploy.png differ
diff --git a/docs/static/img/tutorials/md/MotherDuck-metrics-ai.png b/docs/static/img/tutorials/md/MotherDuck-metrics-ai.png
new file mode 100644
index 00000000000..bd0f3cdc31a
Binary files /dev/null and b/docs/static/img/tutorials/md/MotherDuck-metrics-ai.png differ
diff --git a/docs/static/img/tutorials/md/MotherDuck-pivot.png b/docs/static/img/tutorials/md/MotherDuck-pivot.png
new file mode 100644
index 00000000000..6b4181cc787
Binary files /dev/null and b/docs/static/img/tutorials/md/MotherDuck-pivot.png differ
diff --git a/docs/static/img/tutorials/md/MotherDuck-tdd.png b/docs/static/img/tutorials/md/MotherDuck-tdd.png
new file mode 100644
index 00000000000..9f850355399
Binary files /dev/null and b/docs/static/img/tutorials/md/MotherDuck-tdd.png differ