diff --git a/INDEX.md b/INDEX.md
index bb2e8cbea..d57d4b65f 100644
--- a/INDEX.md
+++ b/INDEX.md
@@ -144,7 +144,7 @@ thread and into an isolate.
 
 ## Demos
 
-#### [Shrine](shrine) _(Flutter team)_
+#### [Shrine](material_studies/shrine) _(Flutter team)_
 The Shrine demo app from the Flutter team. It's designed to showcase how apps
 can put their own spin on the Material Design components and how to use
 ScopedModel to maintain app state across screens.
diff --git a/shrine/.gitignore b/material_studies/shrine/.gitignore
similarity index 100%
rename from shrine/.gitignore
rename to material_studies/shrine/.gitignore
diff --git a/shrine/.metadata b/material_studies/shrine/.metadata
similarity index 100%
rename from shrine/.metadata
rename to material_studies/shrine/.metadata
diff --git a/shrine/README.md b/material_studies/shrine/README.md
similarity index 100%
rename from shrine/README.md
rename to material_studies/shrine/README.md
diff --git a/shrine/analysis_options.yaml b/material_studies/shrine/analysis_options.yaml
similarity index 100%
rename from shrine/analysis_options.yaml
rename to material_studies/shrine/analysis_options.yaml
diff --git a/shrine/android/.gitignore b/material_studies/shrine/android/.gitignore
similarity index 100%
rename from shrine/android/.gitignore
rename to material_studies/shrine/android/.gitignore
diff --git a/shrine/android/app/build.gradle b/material_studies/shrine/android/app/build.gradle
similarity index 100%
rename from shrine/android/app/build.gradle
rename to material_studies/shrine/android/app/build.gradle
diff --git a/shrine/android/app/src/main/AndroidManifest.xml b/material_studies/shrine/android/app/src/main/AndroidManifest.xml
similarity index 100%
rename from shrine/android/app/src/main/AndroidManifest.xml
rename to material_studies/shrine/android/app/src/main/AndroidManifest.xml
diff --git a/shrine/android/app/src/main/java/com/example/flutter/shrine/MainActivity.java b/material_studies/shrine/android/app/src/main/java/com/example/flutter/shrine/MainActivity.java
similarity index 100%
rename from shrine/android/app/src/main/java/com/example/flutter/shrine/MainActivity.java
rename to material_studies/shrine/android/app/src/main/java/com/example/flutter/shrine/MainActivity.java
diff --git a/shrine/android/app/src/main/res/drawable/launch_background.xml b/material_studies/shrine/android/app/src/main/res/drawable/launch_background.xml
similarity index 100%
rename from shrine/android/app/src/main/res/drawable/launch_background.xml
rename to material_studies/shrine/android/app/src/main/res/drawable/launch_background.xml
diff --git a/shrine/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/material_studies/shrine/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
similarity index 100%
rename from shrine/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
rename to material_studies/shrine/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
diff --git a/shrine/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/material_studies/shrine/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
similarity index 100%
rename from shrine/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
rename to material_studies/shrine/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
diff --git a/shrine/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/material_studies/shrine/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
similarity index 100%
rename from shrine/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
rename to material_studies/shrine/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
diff --git a/shrine/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/material_studies/shrine/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
similarity index 100%
rename from shrine/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
rename to material_studies/shrine/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
diff --git a/shrine/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/material_studies/shrine/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
similarity index 100%
rename from shrine/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
rename to material_studies/shrine/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
diff --git a/shrine/android/app/src/main/res/values/styles.xml b/material_studies/shrine/android/app/src/main/res/values/styles.xml
similarity index 100%
rename from shrine/android/app/src/main/res/values/styles.xml
rename to material_studies/shrine/android/app/src/main/res/values/styles.xml
diff --git a/shrine/android/build.gradle b/material_studies/shrine/android/build.gradle
similarity index 100%
rename from shrine/android/build.gradle
rename to material_studies/shrine/android/build.gradle
diff --git a/shrine/android/gradle.properties b/material_studies/shrine/android/gradle.properties
similarity index 100%
rename from shrine/android/gradle.properties
rename to material_studies/shrine/android/gradle.properties
diff --git a/shrine/android/gradle/wrapper/gradle-wrapper.properties b/material_studies/shrine/android/gradle/wrapper/gradle-wrapper.properties
similarity index 100%
rename from shrine/android/gradle/wrapper/gradle-wrapper.properties
rename to material_studies/shrine/android/gradle/wrapper/gradle-wrapper.properties
diff --git a/shrine/android/settings.gradle b/material_studies/shrine/android/settings.gradle
similarity index 100%
rename from shrine/android/settings.gradle
rename to material_studies/shrine/android/settings.gradle
diff --git a/shrine/assets/2.0x/diamond.png b/material_studies/shrine/assets/2.0x/diamond.png
similarity index 100%
rename from shrine/assets/2.0x/diamond.png
rename to material_studies/shrine/assets/2.0x/diamond.png
diff --git a/shrine/assets/2.0x/slanted_menu.png b/material_studies/shrine/assets/2.0x/slanted_menu.png
similarity index 100%
rename from shrine/assets/2.0x/slanted_menu.png
rename to material_studies/shrine/assets/2.0x/slanted_menu.png
diff --git a/shrine/assets/3.0x/diamond.png b/material_studies/shrine/assets/3.0x/diamond.png
similarity index 100%
rename from shrine/assets/3.0x/diamond.png
rename to material_studies/shrine/assets/3.0x/diamond.png
diff --git a/shrine/assets/3.0x/slanted_menu.png b/material_studies/shrine/assets/3.0x/slanted_menu.png
similarity index 100%
rename from shrine/assets/3.0x/slanted_menu.png
rename to material_studies/shrine/assets/3.0x/slanted_menu.png
diff --git a/shrine/assets/diamond.png b/material_studies/shrine/assets/diamond.png
similarity index 100%
rename from shrine/assets/diamond.png
rename to material_studies/shrine/assets/diamond.png
diff --git a/shrine/assets/slanted_menu.png b/material_studies/shrine/assets/slanted_menu.png
similarity index 100%
rename from shrine/assets/slanted_menu.png
rename to material_studies/shrine/assets/slanted_menu.png
diff --git a/shrine/fonts/Rubik-Medium.ttf b/material_studies/shrine/fonts/Rubik-Medium.ttf
similarity index 100%
rename from shrine/fonts/Rubik-Medium.ttf
rename to material_studies/shrine/fonts/Rubik-Medium.ttf
diff --git a/shrine/fonts/Rubik-Regular.ttf b/material_studies/shrine/fonts/Rubik-Regular.ttf
similarity index 100%
rename from shrine/fonts/Rubik-Regular.ttf
rename to material_studies/shrine/fonts/Rubik-Regular.ttf
diff --git a/shrine/ios/.gitignore b/material_studies/shrine/ios/.gitignore
similarity index 100%
rename from shrine/ios/.gitignore
rename to material_studies/shrine/ios/.gitignore
diff --git a/shrine/ios/Flutter/AppFrameworkInfo.plist b/material_studies/shrine/ios/Flutter/AppFrameworkInfo.plist
similarity index 100%
rename from shrine/ios/Flutter/AppFrameworkInfo.plist
rename to material_studies/shrine/ios/Flutter/AppFrameworkInfo.plist
diff --git a/shrine/ios/Flutter/Debug.xcconfig b/material_studies/shrine/ios/Flutter/Debug.xcconfig
similarity index 100%
rename from shrine/ios/Flutter/Debug.xcconfig
rename to material_studies/shrine/ios/Flutter/Debug.xcconfig
diff --git a/shrine/ios/Flutter/Release.xcconfig b/material_studies/shrine/ios/Flutter/Release.xcconfig
similarity index 100%
rename from shrine/ios/Flutter/Release.xcconfig
rename to material_studies/shrine/ios/Flutter/Release.xcconfig
diff --git a/shrine/ios/Runner.xcodeproj/project.pbxproj b/material_studies/shrine/ios/Runner.xcodeproj/project.pbxproj
similarity index 100%
rename from shrine/ios/Runner.xcodeproj/project.pbxproj
rename to material_studies/shrine/ios/Runner.xcodeproj/project.pbxproj
diff --git a/shrine/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/material_studies/shrine/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata
similarity index 100%
rename from shrine/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata
rename to material_studies/shrine/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata
diff --git a/shrine/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/material_studies/shrine/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
similarity index 100%
rename from shrine/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
rename to material_studies/shrine/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
diff --git a/shrine/ios/Runner.xcworkspace/contents.xcworkspacedata b/material_studies/shrine/ios/Runner.xcworkspace/contents.xcworkspacedata
similarity index 100%
rename from shrine/ios/Runner.xcworkspace/contents.xcworkspacedata
rename to material_studies/shrine/ios/Runner.xcworkspace/contents.xcworkspacedata
diff --git a/shrine/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/material_studies/shrine/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
similarity index 100%
rename from shrine/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
rename to material_studies/shrine/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
diff --git a/shrine/ios/Runner/AppDelegate.h b/material_studies/shrine/ios/Runner/AppDelegate.h
similarity index 100%
rename from shrine/ios/Runner/AppDelegate.h
rename to material_studies/shrine/ios/Runner/AppDelegate.h
diff --git a/shrine/ios/Runner/AppDelegate.m b/material_studies/shrine/ios/Runner/AppDelegate.m
similarity index 100%
rename from shrine/ios/Runner/AppDelegate.m
rename to material_studies/shrine/ios/Runner/AppDelegate.m
diff --git a/shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/material_studies/shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json
similarity index 100%
rename from shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json
rename to material_studies/shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json
diff --git a/shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/material_studies/shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png
similarity index 100%
rename from shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png
rename to material_studies/shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png
diff --git a/shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/material_studies/shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
similarity index 100%
rename from shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
rename to material_studies/shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
diff --git a/shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/material_studies/shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
similarity index 100%
rename from shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
rename to material_studies/shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
diff --git a/shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/material_studies/shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
similarity index 100%
rename from shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
rename to material_studies/shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
diff --git a/shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/material_studies/shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
similarity index 100%
rename from shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
rename to material_studies/shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
diff --git a/shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/material_studies/shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
similarity index 100%
rename from shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
rename to material_studies/shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
diff --git a/shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/material_studies/shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
similarity index 100%
rename from shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
rename to material_studies/shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
diff --git a/shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/material_studies/shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
similarity index 100%
rename from shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
rename to material_studies/shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
diff --git a/shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/material_studies/shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
similarity index 100%
rename from shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
rename to material_studies/shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
diff --git a/shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/material_studies/shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
similarity index 100%
rename from shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
rename to material_studies/shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
diff --git a/shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/material_studies/shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
similarity index 100%
rename from shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
rename to material_studies/shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
diff --git a/shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/material_studies/shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
similarity index 100%
rename from shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
rename to material_studies/shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
diff --git a/shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/material_studies/shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
similarity index 100%
rename from shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
rename to material_studies/shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
diff --git a/shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png b/material_studies/shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
similarity index 100%
rename from shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
rename to material_studies/shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
diff --git a/shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/material_studies/shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
similarity index 100%
rename from shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
rename to material_studies/shrine/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
diff --git a/shrine/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json b/material_studies/shrine/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json
similarity index 100%
rename from shrine/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json
rename to material_studies/shrine/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json
diff --git a/shrine/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png b/material_studies/shrine/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png
similarity index 100%
rename from shrine/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png
rename to material_studies/shrine/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png
diff --git a/shrine/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/material_studies/shrine/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png
similarity index 100%
rename from shrine/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png
rename to material_studies/shrine/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png
diff --git a/shrine/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/material_studies/shrine/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png
similarity index 100%
rename from shrine/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png
rename to material_studies/shrine/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png
diff --git a/shrine/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/material_studies/shrine/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md
similarity index 100%
rename from shrine/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md
rename to material_studies/shrine/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md
diff --git a/shrine/ios/Runner/Base.lproj/LaunchScreen.storyboard b/material_studies/shrine/ios/Runner/Base.lproj/LaunchScreen.storyboard
similarity index 100%
rename from shrine/ios/Runner/Base.lproj/LaunchScreen.storyboard
rename to material_studies/shrine/ios/Runner/Base.lproj/LaunchScreen.storyboard
diff --git a/shrine/ios/Runner/Base.lproj/Main.storyboard b/material_studies/shrine/ios/Runner/Base.lproj/Main.storyboard
similarity index 100%
rename from shrine/ios/Runner/Base.lproj/Main.storyboard
rename to material_studies/shrine/ios/Runner/Base.lproj/Main.storyboard
diff --git a/shrine/ios/Runner/Info.plist b/material_studies/shrine/ios/Runner/Info.plist
similarity index 100%
rename from shrine/ios/Runner/Info.plist
rename to material_studies/shrine/ios/Runner/Info.plist
diff --git a/shrine/ios/Runner/main.m b/material_studies/shrine/ios/Runner/main.m
similarity index 100%
rename from shrine/ios/Runner/main.m
rename to material_studies/shrine/ios/Runner/main.m
diff --git a/shrine/lib/app.dart b/material_studies/shrine/lib/app.dart
similarity index 100%
rename from shrine/lib/app.dart
rename to material_studies/shrine/lib/app.dart
diff --git a/shrine/lib/backdrop.dart b/material_studies/shrine/lib/backdrop.dart
similarity index 100%
rename from shrine/lib/backdrop.dart
rename to material_studies/shrine/lib/backdrop.dart
diff --git a/shrine/lib/category_menu_page.dart b/material_studies/shrine/lib/category_menu_page.dart
similarity index 100%
rename from shrine/lib/category_menu_page.dart
rename to material_studies/shrine/lib/category_menu_page.dart
diff --git a/shrine/lib/colors.dart b/material_studies/shrine/lib/colors.dart
similarity index 100%
rename from shrine/lib/colors.dart
rename to material_studies/shrine/lib/colors.dart
diff --git a/shrine/lib/expanding_bottom_sheet.dart b/material_studies/shrine/lib/expanding_bottom_sheet.dart
similarity index 100%
rename from shrine/lib/expanding_bottom_sheet.dart
rename to material_studies/shrine/lib/expanding_bottom_sheet.dart
diff --git a/shrine/lib/home.dart b/material_studies/shrine/lib/home.dart
similarity index 100%
rename from shrine/lib/home.dart
rename to material_studies/shrine/lib/home.dart
diff --git a/shrine/lib/login.dart b/material_studies/shrine/lib/login.dart
similarity index 100%
rename from shrine/lib/login.dart
rename to material_studies/shrine/lib/login.dart
diff --git a/shrine/lib/main.dart b/material_studies/shrine/lib/main.dart
similarity index 100%
rename from shrine/lib/main.dart
rename to material_studies/shrine/lib/main.dart
diff --git a/shrine/lib/model/app_state_model.dart b/material_studies/shrine/lib/model/app_state_model.dart
similarity index 100%
rename from shrine/lib/model/app_state_model.dart
rename to material_studies/shrine/lib/model/app_state_model.dart
diff --git a/shrine/lib/model/product.dart b/material_studies/shrine/lib/model/product.dart
similarity index 100%
rename from shrine/lib/model/product.dart
rename to material_studies/shrine/lib/model/product.dart
diff --git a/shrine/lib/model/products_repository.dart b/material_studies/shrine/lib/model/products_repository.dart
similarity index 100%
rename from shrine/lib/model/products_repository.dart
rename to material_studies/shrine/lib/model/products_repository.dart
diff --git a/shrine/lib/shopping_cart.dart b/material_studies/shrine/lib/shopping_cart.dart
similarity index 100%
rename from shrine/lib/shopping_cart.dart
rename to material_studies/shrine/lib/shopping_cart.dart
diff --git a/shrine/lib/supplemental/asymmetric_view.dart b/material_studies/shrine/lib/supplemental/asymmetric_view.dart
similarity index 100%
rename from shrine/lib/supplemental/asymmetric_view.dart
rename to material_studies/shrine/lib/supplemental/asymmetric_view.dart
diff --git a/shrine/lib/supplemental/cut_corners_border.dart b/material_studies/shrine/lib/supplemental/cut_corners_border.dart
similarity index 100%
rename from shrine/lib/supplemental/cut_corners_border.dart
rename to material_studies/shrine/lib/supplemental/cut_corners_border.dart
diff --git a/shrine/lib/supplemental/product_card.dart b/material_studies/shrine/lib/supplemental/product_card.dart
similarity index 100%
rename from shrine/lib/supplemental/product_card.dart
rename to material_studies/shrine/lib/supplemental/product_card.dart
diff --git a/shrine/lib/supplemental/product_columns.dart b/material_studies/shrine/lib/supplemental/product_columns.dart
similarity index 100%
rename from shrine/lib/supplemental/product_columns.dart
rename to material_studies/shrine/lib/supplemental/product_columns.dart
diff --git a/shrine/pubspec.lock b/material_studies/shrine/pubspec.lock
similarity index 100%
rename from shrine/pubspec.lock
rename to material_studies/shrine/pubspec.lock
diff --git a/shrine/pubspec.yaml b/material_studies/shrine/pubspec.yaml
similarity index 100%
rename from shrine/pubspec.yaml
rename to material_studies/shrine/pubspec.yaml
diff --git a/shrine/test/main_test.dart b/material_studies/shrine/test/main_test.dart
similarity index 100%
rename from shrine/test/main_test.dart
rename to material_studies/shrine/test/main_test.dart
diff --git a/travis_script.sh b/travis_script.sh
index 348c29d77..4eb40cf86 100755
--- a/travis_script.sh
+++ b/travis_script.sh
@@ -1,5 +1,17 @@
 set -e
 
+# Backs up one directory at a time, looking for one called "flutter".
+function getFlutterPath() {
+    local path=".."
+    local counter=0
+
+    while [[ "${counter}" -lt 10 ]]; do
+        [ -d "${path}/flutter" ] && echo "${path}/flutter" && return 0
+        let counter++
+        path="${path}/.."
+    done
+}
+
 declare -a  PROJECT_NAMES=(
     "animations" \
     "flutter_maps_firestore" \
@@ -10,7 +22,7 @@ declare -a  PROJECT_NAMES=(
     "platform_view_swift" \
     "provider_counter" \
     "provider_shopper" \
-    "shrine" \
+    "material_studies/shrine" \
     "veggieseasons" \
 )
 
@@ -19,14 +31,22 @@ do
     echo "== Testing '${PROJECT_NAME}' on Flutter's $FLUTTER_VERSION channel =="
     pushd "${PROJECT_NAME}"
 
+    localSdkPath=$(getFlutterPath)
+    
+    if [ -z "$localSdkPath" ]
+    then 
+        echo "Failed to find Flutter SDK for '${PROJECT_NAME}'."
+        exit 1
+    fi
+
     # Run the analyzer to find any static analysis issues.
-    ../flutter/bin/flutter analyze
+    "${localSdkPath}/bin/flutter" analyze
 
     # Run the formatter on all the dart files to make sure everything's linted.
-    ../flutter/bin/flutter format -n --set-exit-if-changed .
+    "${localSdkPath}/bin/flutter" format -n --set-exit-if-changed .
 
     # Run the actual tests.
-    ../flutter/bin/flutter test
+    "${localSdkPath}/bin/flutter" test
 
     popd
 done