diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index 6d03c099c..6c83d9d77 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -30,6 +30,7 @@ coroutines = "1.9.0"
 glide = "1.0.0-beta01"
 google-maps = "19.0.0"
 gradle-versions = "0.51.0"
+guava = "33.2.1-android"
 hilt = "2.52"
 horologist = "0.6.20"
 junit = "4.13.2"
@@ -44,12 +45,22 @@ media3 = "1.4.1"
 # @keep
 minSdk = "21"
 playServicesWearable = "18.2.0"
+protolayout = "1.3.0-alpha04"
+protolayoutExpression = "1.3.0-alpha04"
+protolayoutMaterial = "1.3.0-alpha04"
 recyclerview = "1.3.2"
 # @keep
 targetSdk = "34"
+tiles = "1.5.0-alpha04"
+tilesRenderer = "1.5.0-alpha04"
+tilesTesting = "1.5.0-alpha04"
+tilesTooling = "1.5.0-alpha04"
+tilesToolingPreview = "1.5.0-alpha04"
 version-catalog-update = "0.8.5"
+wear = "1.3.0"
 wearComposeFoundation = "1.4.0"
 wearComposeMaterial = "1.4.0"
+wearToolingPreview = "1.0.0"
 
 [libraries]
 accompanist-adaptive = { module = "com.google.accompanist:accompanist-adaptive", version.ref = "accompanist" }
@@ -103,10 +114,20 @@ androidx-media3-common = { module = "androidx.media3:media3-common", version.ref
 androidx-media3-exoplayer = { module = "androidx.media3:media3-exoplayer", version.ref = "media3" }
 androidx-navigation-compose = { module = "androidx.navigation:navigation-compose", version.ref = "androidx-navigation" }
 androidx-paging-compose = { module = "androidx.paging:paging-compose", version.ref = "androidx-paging" }
+androidx-protolayout = { module = "androidx.wear.protolayout:protolayout", version.ref = "protolayout" }
+androidx-protolayout-expression = { module = "androidx.wear.protolayout:protolayout-expression", version.ref = "protolayoutExpression" }
+androidx-protolayout-material = { module = "androidx.wear.protolayout:protolayout-material", version.ref = "protolayoutMaterial" }
 androidx-recyclerview = { module = "androidx.recyclerview:recyclerview", version.ref = "recyclerview" }
 androidx-test-core = { module = "androidx.test:core", version.ref = "androidx-test" }
 androidx-test-espresso-core = { module = "androidx.test.espresso:espresso-core", version.ref = "androidx-test-espresso" }
 androidx-test-runner = "androidx.test:runner:1.6.2"
+androidx-tiles = { module = "androidx.wear.tiles:tiles", version.ref = "tiles" }
+androidx-tiles-renderer = { module = "androidx.wear.tiles:tiles-renderer", version.ref = "tilesRenderer" }
+androidx-tiles-testing = { module = "androidx.wear.tiles:tiles-testing", version.ref = "tilesTesting" }
+androidx-tiles-tooling = { module = "androidx.wear.tiles:tiles-tooling", version.ref = "tilesTooling" }
+androidx-tiles-tooling-preview = { module = "androidx.wear.tiles:tiles-tooling-preview", version.ref = "tilesToolingPreview" }
+androidx-wear = { module = "androidx.wear:wear", version.ref = "wear" }
+androidx-wear-tooling-preview = { module = "androidx.wear:wear-tooling-preview", version.ref = "wearToolingPreview" }
 androidx-window-core = { module = "androidx.window:window-core", version.ref = "androidx-window" }
 androidx-work-runtime-ktx = "androidx.work:work-runtime-ktx:2.10.0"
 coil-kt-compose = { module = "io.coil-kt:coil-compose", version.ref = "coil" }
@@ -117,6 +138,7 @@ glide-compose = { module = "com.github.bumptech.glide:compose", version.ref = "g
 google-android-material = { module = "com.google.android.material:material", version.ref = "material" }
 googlemaps-compose = { module = "com.google.maps.android:maps-compose", version.ref = "maps-compose" }
 googlemaps-maps = { module = "com.google.android.gms:play-services-maps", version.ref = "google-maps" }
+guava = { module = "com.google.guava:guava", version.ref = "guava" }
 hilt-android = { module = "com.google.dagger:hilt-android", version.ref = "hilt" }
 hilt-compiler = { module = "com.google.dagger:hilt-android-compiler", version.ref = "hilt" }
 horologist-compose-layout = { module = "com.google.android.horologist:horologist-compose-layout", version.ref = "horologist" }
diff --git a/wear/build.gradle.kts b/wear/build.gradle.kts
index 13fff7944..154e7d37e 100644
--- a/wear/build.gradle.kts
+++ b/wear/build.gradle.kts
@@ -55,6 +55,17 @@ dependencies {
 
     implementation(libs.compose.ui.tooling)
     implementation(libs.play.services.wearable)
+    implementation(libs.androidx.tiles)
+    implementation(libs.androidx.wear)
+    implementation(libs.androidx.protolayout)
+    implementation(libs.androidx.protolayout.material)
+    implementation(libs.androidx.protolayout.expression)
+    debugImplementation(libs.androidx.tiles.renderer)
+    testImplementation(libs.androidx.tiles.testing)
+    implementation(libs.androidx.wear.tooling.preview)
+    implementation(libs.androidx.tiles.tooling.preview)
+    debugImplementation(libs.androidx.tiles.tooling)
+    implementation(libs.guava)
     implementation(platform(libs.androidx.compose.bom))
     implementation(libs.androidx.compose.ui)
     implementation(libs.androidx.compose.ui.tooling.preview)
diff --git a/wear/src/main/AndroidManifest.xml b/wear/src/main/AndroidManifest.xml
index f0d2328e2..84c4785a2 100644
--- a/wear/src/main/AndroidManifest.xml
+++ b/wear/src/main/AndroidManifest.xml
@@ -34,6 +34,24 @@
                 
             
         
+
+        
+        
+            
+                
+            
+
+            
+        
+        
+
     
 
 
\ No newline at end of file
diff --git a/wear/src/main/java/com/example/wear/snippets/tile/Tile.kt b/wear/src/main/java/com/example/wear/snippets/tile/Tile.kt
new file mode 100644
index 000000000..74a294832
--- /dev/null
+++ b/wear/src/main/java/com/example/wear/snippets/tile/Tile.kt
@@ -0,0 +1,53 @@
+/*
+ * Copyright 2022 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.example.wear.snippets.tile
+
+import androidx.wear.protolayout.ColorBuilders.argb
+import androidx.wear.protolayout.ResourceBuilders.Resources
+import androidx.wear.protolayout.TimelineBuilders.Timeline
+import androidx.wear.protolayout.material.Text
+import androidx.wear.protolayout.material.Typography
+import androidx.wear.tiles.RequestBuilders
+import androidx.wear.tiles.RequestBuilders.ResourcesRequest
+import androidx.wear.tiles.TileBuilders.Tile
+import androidx.wear.tiles.TileService
+import com.google.common.util.concurrent.Futures
+
+private const val RESOURCES_VERSION = "1"
+
+// [START android_wear_tile_mytileservice]
+class MyTileService : TileService() {
+
+    override fun onTileRequest(requestParams: RequestBuilders.TileRequest) =
+        Futures.immediateFuture(Tile.Builder()
+            .setResourcesVersion(RESOURCES_VERSION)
+            .setTileTimeline(
+                Timeline.fromLayoutElement(
+                    Text.Builder(this, "Hello World!")
+                        .setTypography(Typography.TYPOGRAPHY_BODY1)
+                        .setColor(argb(0xFFFFFFFF.toInt()))
+                        .build()))
+            .build())
+
+    override fun onTileResourcesRequest(requestParams: ResourcesRequest) =
+        Futures.immediateFuture(Resources.Builder()
+            .setVersion(RESOURCES_VERSION)
+            .build()
+        )
+
+}
+// [END android_wear_tile_mytileservice]
\ No newline at end of file
diff --git a/wear/src/main/res/drawable/tile_preview.png b/wear/src/main/res/drawable/tile_preview.png
new file mode 100644
index 000000000..b2a254a16
Binary files /dev/null and b/wear/src/main/res/drawable/tile_preview.png differ
diff --git a/wear/src/main/res/values/strings.xml b/wear/src/main/res/values/strings.xml
index 31b64b4d3..fc59c67b8 100644
--- a/wear/src/main/res/values/strings.xml
+++ b/wear/src/main/res/values/strings.xml
@@ -3,4 +3,6 @@
     Voice Input
     Voice Text Entry
     Message List
+    Hello Tile
+    Hello Tile Description
 
\ No newline at end of file