ExecOps: AI-powered internal operating system for SaaS founders.
OpsMate: AWS cost optimization extension with intelligent agents for cloud resource management.
# AI Service
cd ai-service
uv sync
uv run pytest tests/ -v
PYTHONPATH=src .venv/bin/activate && uvicorn ai_service.main:app --host 0.0.0.0 --port 8000
# Frontend
cd fullstack
pnpm install
pnpm devWebhooks → AI Service (/process_event) → Vertical Agents
↓
┌──────────┴──────────┐
↓ ↓ ↓ ↓
Sentinel Watchman Hunter Guard
(PR Comp) (Staging) (EBS) (IAM)
↓ ↓ ↓ ↓
[ActionProposal] → Inbox UI → Approve/Reject
| Agent | Purpose | Triggers |
|---|---|---|
| Sentinel | PR compliance & deployment policy | GitHub PR events |
| Watchman | Night Watchman - auto-shutdown staging | Schedule (8PM) / inactivity |
| Hunter | Zombie Hunter - unattached EBS cleanup | On-demand / schedule |
| Guard | Access Guard - IAM revocation on departure | Slack/GitHub membership changes |
- Detects team offline (no commits, no active tickets)
- Auto-shutdown staging environments at night
- Saves ~60% on staging EC2 costs
- Scans for unattached EBS volumes
- Identifies old snapshots (30+ days)
- Proposes cleanup with cost savings
- Monitors Slack/GitHub org membership
- Detects departures with grace period
- Human-in-the-loop IAM access revocation
# Process event through vertical agent
curl -X POST http://localhost:8000/process_event \
-H "Content-Type: application/json" \
-d '{"event_type": "github.pr", "urgency": "medium"}'
# List pending proposals
curl http://localhost:8000/proposals?status=pending_approval
# Approve/Reject
curl -X POST http://localhost:8000/proposals/{id}/approve
curl -X POST http://localhost:8000/proposals/{id}/reject -d '{"reason": "..."}'- 292 tests passing:
uv run pytest ai-service/tests/ -v - 3 skipped (Neo4j not available)
- LangGraph for agent orchestration
- PostgreSQL + Prisma for persistence
- Redis + Celery for async tasks
- Neo4j for graph context
- Boto3 for AWS integration