diff --git a/examples/gpio.html b/examples/gpio/gpio.html
similarity index 100%
rename from examples/gpio.html
rename to examples/gpio/gpio.html
diff --git a/examples/gpio.py b/examples/gpio/gpio.py
similarity index 100%
rename from examples/gpio.py
rename to examples/gpio/gpio.py
diff --git a/examples/hello/README.md b/examples/hello/README.md
new file mode 100644
index 0000000..d0ef6ab
--- /dev/null
+++ b/examples/hello/README.md
@@ -0,0 +1,2 @@
+This directory contains several "Hello, World!" type examples for different
+platforms and configurations supported by Microdot.
diff --git a/examples/hello.py b/examples/hello/hello.py
similarity index 100%
rename from examples/hello.py
rename to examples/hello/hello.py
diff --git a/examples/hello_asgi.py b/examples/hello/hello_asgi.py
similarity index 100%
rename from examples/hello_asgi.py
rename to examples/hello/hello_asgi.py
diff --git a/examples/hello_async.py b/examples/hello/hello_async.py
similarity index 100%
rename from examples/hello_async.py
rename to examples/hello/hello_async.py
diff --git a/examples/hello_jinja.py b/examples/hello/hello_jinja.py
similarity index 100%
rename from examples/hello_jinja.py
rename to examples/hello/hello_jinja.py
diff --git a/examples/hello_utemplate.py b/examples/hello/hello_utemplate.py
similarity index 100%
rename from examples/hello_utemplate.py
rename to examples/hello/hello_utemplate.py
diff --git a/examples/hello_utemplate_async.py b/examples/hello/hello_utemplate_async.py
similarity index 100%
rename from examples/hello_utemplate_async.py
rename to examples/hello/hello_utemplate_async.py
diff --git a/examples/hello_wsgi.py b/examples/hello/hello_wsgi.py
similarity index 100%
rename from examples/hello_wsgi.py
rename to examples/hello/hello_wsgi.py
diff --git a/examples/templates/index_jinja.html b/examples/hello/templates/index_jinja.html
similarity index 100%
rename from examples/templates/index_jinja.html
rename to examples/hello/templates/index_jinja.html
diff --git a/examples/templates/index_utemplate.html b/examples/hello/templates/index_utemplate.html
similarity index 100%
rename from examples/templates/index_utemplate.html
rename to examples/hello/templates/index_utemplate.html
diff --git a/examples/sessions/README.md b/examples/sessions/README.md
new file mode 100644
index 0000000..b2ae64e
--- /dev/null
+++ b/examples/sessions/README.md
@@ -0,0 +1 @@
+This directory contains examples that take advantage of user sessions.
diff --git a/examples/login.py b/examples/sessions/login.py
similarity index 100%
rename from examples/login.py
rename to examples/sessions/login.py
diff --git a/examples/static/README.md b/examples/static/README.md
new file mode 100644
index 0000000..d517fa4
--- /dev/null
+++ b/examples/static/README.md
@@ -0,0 +1,2 @@
+The example in this directory demonstrates how to serve static files out of a
+directory.
diff --git a/examples/static.py b/examples/static/static.py
similarity index 100%
rename from examples/static.py
rename to examples/static/static.py
diff --git a/examples/static/index.html b/examples/static/static/index.html
similarity index 100%
rename from examples/static/index.html
rename to examples/static/static/index.html
diff --git a/examples/static/logo.png b/examples/static/static/logo.png
similarity index 100%
rename from examples/static/logo.png
rename to examples/static/static/logo.png
diff --git a/examples/1.jpg b/examples/streaming/1.jpg
similarity index 100%
rename from examples/1.jpg
rename to examples/streaming/1.jpg
diff --git a/examples/2.jpg b/examples/streaming/2.jpg
similarity index 100%
rename from examples/2.jpg
rename to examples/streaming/2.jpg
diff --git a/examples/3.jpg b/examples/streaming/3.jpg
similarity index 100%
rename from examples/3.jpg
rename to examples/streaming/3.jpg
diff --git a/examples/streaming/README.md b/examples/streaming/README.md
new file mode 100644
index 0000000..cbc97ec
--- /dev/null
+++ b/examples/streaming/README.md
@@ -0,0 +1 @@
+This directory contain examples that demonstrate how to use streaming responses.
diff --git a/examples/video_stream.py b/examples/streaming/video_stream.py
similarity index 100%
rename from examples/video_stream.py
rename to examples/streaming/video_stream.py
diff --git a/examples/video_stream_async.py b/examples/streaming/video_stream_async.py
similarity index 100%
rename from examples/video_stream_async.py
rename to examples/streaming/video_stream_async.py