Skip to content

Commit 73fe0c4

Browse files
committed
status page
1 parent 8b45d82 commit 73fe0c4

17 files changed

+3583
-0
lines changed

status/.gitignore

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Logs
2+
logs
3+
*.log
4+
npm-debug.log*
5+
yarn-debug.log*
6+
yarn-error.log*
7+
pnpm-debug.log*
8+
lerna-debug.log*
9+
10+
node_modules
11+
dist
12+
dist-ssr
13+
*.local
14+
15+
# Editor directories and files
16+
.vscode/*
17+
!.vscode/extensions.json
18+
.idea
19+
.DS_Store
20+
*.suo
21+
*.ntvs*
22+
*.njsproj
23+
*.sln
24+
*.sw?

status/README.md

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
# Observer AI Status Page
2+
3+
A real-time status monitoring dashboard for Observer AI models.
4+
5+
## Features
6+
7+
- Real-time model status monitoring
8+
- 24-hour uptime visualization
9+
- Auto-refresh every 60 seconds
10+
- Dark theme UI inspired by modern status pages
11+
- Graceful error handling
12+
13+
## Development
14+
15+
```bash
16+
# Install dependencies
17+
npm install
18+
19+
# Run development server
20+
npm run dev
21+
22+
# Build for production
23+
npm run build
24+
```
25+
26+
## Deployment to Cloudflare Pages
27+
28+
### Method 1: Automatic GitHub Deployment
29+
30+
1. Go to Cloudflare Pages dashboard
31+
2. Create a new project
32+
3. Connect your GitHub repository
33+
4. Configure build settings:
34+
- **Build command**: `cd status && npm install && npm run build`
35+
- **Build output directory**: `status/dist`
36+
- **Root directory**: `/` (or leave empty)
37+
38+
### Method 2: Manual Deployment
39+
40+
```bash
41+
# Build the project
42+
npm run build
43+
44+
# Deploy using Wrangler (if you have it installed)
45+
npx wrangler pages deploy dist
46+
```
47+
48+
## API Endpoint
49+
50+
The status page fetches data from:
51+
```
52+
https://api.observer-ai.com/status
53+
```
54+
55+
### Expected Response Format
56+
57+
```json
58+
{
59+
"checked_at": "2025-10-22T17:13:54.606768",
60+
"window_hours": 24,
61+
"models": [
62+
{
63+
"name": "model-name",
64+
"overall_success_rate": 100.0,
65+
"hourly_stats": [
66+
{
67+
"hour": "2025-10-22T17:00:00",
68+
"success_rate": 100.0
69+
}
70+
]
71+
}
72+
]
73+
}
74+
```
75+
76+
## Tech Stack
77+
78+
- React 18
79+
- TypeScript
80+
- Vite
81+
- Tailwind CSS

status/index.html

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<!doctype html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8" />
5+
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
6+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
7+
<title>Observer AI Status</title>
8+
</head>
9+
<body>
10+
<div id="root"></div>
11+
<script type="module" src="/src/main.tsx"></script>
12+
</body>
13+
</html>

0 commit comments

Comments
 (0)