diff --git a/frontend/src/components/ui/progress.tsx b/frontend/src/components/ui/progress.tsx
new file mode 100644
index 0000000..0b006ee
--- /dev/null
+++ b/frontend/src/components/ui/progress.tsx
@@ -0,0 +1,17 @@
+import { cn } from '@/lib/utils'
+
+interface ProgressProps {
+ value: number
+ className?: string
+}
+
+export function Progress({ value, className }: ProgressProps) {
+ return (
+
+ )
+}
diff --git a/frontend/src/components/usage/UsageCard.tsx b/frontend/src/components/usage/UsageCard.tsx
new file mode 100644
index 0000000..969db5f
--- /dev/null
+++ b/frontend/src/components/usage/UsageCard.tsx
@@ -0,0 +1,51 @@
+import { Card } from '@/components/ui/card'
+import { Progress } from '@/components/ui/progress'
+import { Zap, Wallet } from 'lucide-react'
+
+export function UsageCard() {
+ const usage = {
+ tokensUsed: 124800,
+ tokensLimit: 200000,
+ budgetUsed: 42.5,
+ budgetLimit: 100,
+ }
+
+ const tokenPercent = Math.round((usage.tokensUsed / usage.tokensLimit) * 100)
+ const budgetPercent = Math.round((usage.budgetUsed / usage.budgetLimit) * 100)
+
+ return (
+
+
+
+
+
Usage & Limits
+
+
Today
+
+
+
+
+ Tokens
+
+ {usage.tokensUsed.toLocaleString()} / {usage.tokensLimit.toLocaleString()}
+
+
+
+
{tokenPercent}% used
+
+
+
+
+
+ Budget
+
+ ${usage.budgetUsed} / ${usage.budgetLimit}
+
+
+
+ {budgetPercent}% used ยท ${usage.budgetLimit - usage.budgetUsed} left
+
+
+
+ )
+}
diff --git a/frontend/src/pages/Dashboard.tsx b/frontend/src/pages/Dashboard.tsx
index c3ea714..606f467 100644
--- a/frontend/src/pages/Dashboard.tsx
+++ b/frontend/src/pages/Dashboard.tsx
@@ -1,6 +1,7 @@
import { AgentGrid } from '@/components/agents/AgentGrid'
import { Kanban } from '@/components/tasks/Kanban'
import { ActivityFeed } from '@/components/ActivityFeed'
+import { UsageCard } from '@/components/usage/UsageCard'
import { useAppStore } from '@/store/useAppStore'
export function Dashboard() {
@@ -27,6 +28,9 @@ export function Dashboard() {
+
+
+