diff --git a/libs/python/bench-ui/examples/folder_example.py b/libs/python/bench-ui/examples/folder_example.py
new file mode 100644
index 00000000..324c2cdb
--- /dev/null
+++ b/libs/python/bench-ui/examples/folder_example.py
@@ -0,0 +1,40 @@
+from __future__ import annotations
+import time
+from bench_ui import launch_window, get_element_rect, execute_javascript
+from pathlib import Path
+import os
+
+def main():
+ os.environ["CUA_BENCH_UI_DEBUG"] = "1"
+
+ # Get the path to the gui folder
+ gui_folder = Path(__file__).parent / "gui"
+
+ # Launch a window serving the static folder
+ pid = launch_window(
+ folder=str(gui_folder),
+ title="Static Folder Example",
+ width=800,
+ height=600,
+ )
+ print(f"Launched window with PID: {pid}")
+ print(f"Serving folder: {gui_folder}")
+
+ # Give the window a moment to render
+ time.sleep(1.5)
+
+ # Query the client rect of the button element
+ rect = get_element_rect(pid, "#testButton", space="window")
+ print("Button rect (window space):", rect)
+
+ # Check if button has been clicked
+ clicked = execute_javascript(pid, "document.getElementById('testButton').disabled")
+ print("Button clicked:", clicked)
+
+ # Get the page title
+ title = execute_javascript(pid, "document.title")
+ print("Page title:", title)
+
+
+if __name__ == "__main__":
+ main()
diff --git a/libs/python/bench-ui/examples/gui/index.html b/libs/python/bench-ui/examples/gui/index.html
new file mode 100644
index 00000000..962994f7
--- /dev/null
+++ b/libs/python/bench-ui/examples/gui/index.html
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+ Static Folder Example
+
+
+
+
+
+
Static Folder Example
+
This page is served from a static folder using bench-ui!
+
+
+

+
+
+
+
This example demonstrates:
+
+ - Serving a static folder with bench-ui
+ - Loading external CSS files (styles.css)
+ - Loading SVG images (logo.svg)
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/libs/python/bench-ui/examples/gui/logo.svg b/libs/python/bench-ui/examples/gui/logo.svg
new file mode 100644
index 00000000..bd22d128
--- /dev/null
+++ b/libs/python/bench-ui/examples/gui/logo.svg
@@ -0,0 +1,24 @@
+
diff --git a/libs/python/bench-ui/examples/gui/styles.css b/libs/python/bench-ui/examples/gui/styles.css
new file mode 100644
index 00000000..fe63c6e6
--- /dev/null
+++ b/libs/python/bench-ui/examples/gui/styles.css
@@ -0,0 +1,92 @@
+body {
+ font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
+ margin: 0;
+ padding: 20px;
+ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
+ min-height: 100vh;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.container {
+ background: white;
+ border-radius: 12px;
+ padding: 40px;
+ box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
+ max-width: 600px;
+ width: 100%;
+}
+
+h1 {
+ color: #333;
+ margin-top: 0;
+ font-size: 2em;
+}
+
+p {
+ color: #666;
+ line-height: 1.6;
+}
+
+.image-container {
+ display: flex;
+ justify-content: center;
+ margin: 30px 0;
+}
+
+.logo {
+ width: 150px;
+ height: 150px;
+}
+
+.info {
+ background: #f8f9fa;
+ border-left: 4px solid #667eea;
+ padding: 20px;
+ margin: 20px 0;
+ border-radius: 4px;
+}
+
+.info ul {
+ margin: 10px 0;
+ padding-left: 20px;
+}
+
+.info li {
+ color: #555;
+ margin: 8px 0;
+}
+
+.btn {
+ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
+ color: white;
+ border: none;
+ padding: 12px 30px;
+ font-size: 16px;
+ border-radius: 6px;
+ cursor: pointer;
+ transition: transform 0.2s, box-shadow 0.2s;
+ font-weight: 600;
+}
+
+.btn:hover:not(:disabled) {
+ transform: translateY(-2px);
+ box-shadow: 0 5px 15px rgba(102, 126, 234, 0.4);
+}
+
+.btn:active:not(:disabled) {
+ transform: translateY(0);
+}
+
+.btn:disabled {
+ opacity: 0.6;
+ cursor: not-allowed;
+}
+
+#status {
+ margin-top: 15px;
+ font-weight: 600;
+ color: #28a745;
+ font-size: 18px;
+}
\ No newline at end of file