diff --git a/client/src/App.tsx b/client/src/App.tsx
new file mode 100644
index 0000000..382c633
--- /dev/null
+++ b/client/src/App.tsx
@@ -0,0 +1,46 @@
+import { Toaster } from "@/components/ui/sonner";
+import { TooltipProvider } from "@/components/ui/tooltip";
+import NotFound from "@/pages/NotFound";
+import { Route, Switch } from "wouter";
+import ErrorBoundary from "./components/ErrorBoundary";
+import { ThemeProvider } from "./contexts/ThemeContext";
+import Home from "./pages/Home";
+import Tutorial from "./pages/Tutorial";
+import Admin from "./pages/Admin";
+
+function Router() {
+ // make sure to consider if you need authentication for certain routes
+ return (
+
+
+
+
+
+ {/* Final fallback route */}
+
+
+ );
+}
+
+// NOTE: About Theme
+// - First choose a default theme according to your design style (dark or light bg), than change color palette in index.css
+// to keep consistent foreground/background color across components
+// - If you want to make theme switchable, pass `switchable` ThemeProvider and use `useTheme` hook
+
+function App() {
+ return (
+
+
+
+
+
+
+
+
+ );
+}
+
+export default App;