AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
Practical web-based tools, firmware, and hardware for ESP32 and IoT projects. No installs required.
Developer toolsTypeScript · PythonGitHub @iotivateOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
iotivate.dev webapp
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Simplifying IoT, One Module at a Time.
A platform for web-based IoT tools, project showcases, and ESP32 development resources.
Stack: Next.js, TypeScript, Tailwind CSS, App Router
Runs at http://localhost:3000.
Stack: FastAPI, SQLModel, SQLite (dev) / PostgreSQL (prod)
Runs at http://localhost:8000. API docs at /docs.
The backend is one shared FastAPI app (site + radar) deployed as a single Render
Web Service. Migrations run automatically on startup, so a normalRead the full README ↗Simplifying IoT, One Module at a Time.
A platform for web-based IoT tools, project showcases, and ESP32 development resources.
iotivate.dev/
├── frontend/ # Next.js (React, Tailwind CSS, App Router)
├── backend/ # FastAPI (Python, SQLModel)
└── README.md
Stack: Next.js, TypeScript, Tailwind CSS, App Router
cd frontend
cp .env.example .env.local
npm install
npm run dev
Runs at http://localhost:3000.
| Route | Description |
|---|---|
/ | Homepage |
/tools | Tools hub |
/tools/esp32-web-flasher | ESP32 Web Flasher (placeholder) |
/tools/wirelessear-installer | WirelessEar Installer (placeholder) |
/projects | Project showcase |
/blog | Blog (placeholder) |
/about | About page |
/contact | Contact form |
Stack: FastAPI, SQLModel, SQLite (dev) / PostgreSQL (prod)
cd backend
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
uvicorn app.main:app --reload
Runs at http://localhost:8000. API docs at /docs.
python -m app.seed
| Method | Path | Description |
|---|---|---|
GET | /health | Health check |
GET | /api/tools/ | List all tools |
GET | /api/tools/{slug} | Get tool by slug |
GET | /api/projects/ | List all projects |
GET | /api/projects/{slug} | Get project by slug |
| Variable | Default | Description |
|---|---|---|
DATABASE_URL | sqlite:///./iotivate.db | Database connection string |
SECRET_KEY | change-me-in-production | JWT signing key |
CORS_ORIGINS | http://localhost:3000 | Comma-separated allowed origins |
The backend is one shared FastAPI app (site + radar) deployed as a single Render Web Service. Migrations run automatically on startup, so a normal redeploy picks up new tables (e.g. radar's) with no manual DB step.
⚠️ Single worker / single instance. Radar keeps WebSocket connections,
device presence, and the rules engine in process memory. Running more than one
worker or instance breaks cross-connection fan-out and rule-cache invalidation.
Keep the service at one process until a pub/sub layer (Postgres
LISTEN/NOTIFY or Redis) is added for horizontal scaling.
uvicorn app.main:app --host 0.0.0.0 --port $PORT (no
--workers flag → one process). Do not use gunicorn -w N / --workers N>1./ws/radar/* needs no extra config./health.An optional render.yaml Blueprint codifies the above. It is
inert for existing manually-created services — committing it does not change a
running deploy; it only applies if you adopt it as a Blueprint in the dashboard.