diff --git a/pyproject.toml b/pyproject.toml
index bdae7b7..57fad0b 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -3,7 +3,10 @@ name = "pipecat-examples"
version = "0.0.0"
description = "Examples for Pipecat AI framework"
requires-python = ">=3.10"
-dependencies = []
+dependencies = [
+ "loguru>=0.7.3",
+ "pillow>=11.3.0",
+]
[dependency-groups]
dev = [
diff --git a/simple-chatbot/client/react/src/App.tsx b/simple-chatbot/client/react/src/App.tsx
index 21fbb53..61ca97f 100644
--- a/simple-chatbot/client/react/src/App.tsx
+++ b/simple-chatbot/client/react/src/App.tsx
@@ -7,6 +7,7 @@ import { PipecatProvider } from "./providers/PipecatProvider";
import { ConnectButton } from "./components/ConnectButton";
import { StatusDisplay } from "./components/StatusDisplay";
import { DebugDisplay } from "./components/DebugDisplay";
+import { MicrophoneSelector } from "./components/MicrophoneSelector";
import "./App.css";
function BotVideo() {
@@ -27,6 +28,7 @@ function AppContent() {
+
diff --git a/simple-chatbot/client/react/src/components/MicrophoneSelector.tsx b/simple-chatbot/client/react/src/components/MicrophoneSelector.tsx
new file mode 100644
index 0000000..ed43cec
--- /dev/null
+++ b/simple-chatbot/client/react/src/components/MicrophoneSelector.tsx
@@ -0,0 +1,27 @@
+import { usePipecatClientMediaDevices } from "@pipecat-ai/client-react";
+
+export function MicrophoneSelector() {
+ const { availableMics, selectedMic, updateMic } =
+ usePipecatClientMediaDevices();
+
+ if (!availableMics || availableMics.length === 0) {
+ return null;
+ }
+
+ return (
+
+
+
+
+ );
+}
diff --git a/simple-chatbot/server/pyproject.toml b/simple-chatbot/server/pyproject.toml
new file mode 100644
index 0000000..4b59e27
--- /dev/null
+++ b/simple-chatbot/server/pyproject.toml
@@ -0,0 +1,19 @@
+[project]
+name = "simple-chatbot"
+version = "0.1.0"
+description = "Simple chatbot example"
+requires-python = ">=3.10"
+dependencies = [
+ "pipecat-ai[daily,deepgram,openai,google,silero,cartesia,runner,webrtc]>=0.0.82",
+ "pipecatcloud>=0.2.4"
+]
+
+[dependency-groups]
+dev = [
+ "ruff~=0.12.1",
+]
+
+[tool.ruff]
+line-length = 100
+[tool.ruff.lint]
+select = ["I"]
\ No newline at end of file