Nod is an approval API for AI agents, scripts, and workflows.
The idea is simple:
- Your app wants to do something risky.
- Nod asks a human for approval.
- The human approves in Slack or web.
- Nod sends a signed callback.
- Your app continues safely.
We built the web app on Vercel. The dashboard lets teams manage:
- Workspaces
- Members and roles
- Approval policies
- Slack channels
- API keys
- Callback endpoints
- Approval history
For the database, we used Amazon Aurora PostgreSQL. Nod needs a strong relational database because approval data must be correct. An approval is not just a UI card. It has a lifecycle.
pending -> approved
pending -> rejected
pending -> expired
pending -> canceled
Aurora stores the source of truth:
- Approval requests
- Human decisions
- Policy versions
- Webhook events
- Delivery attempts
- Audit logs
The backend runs on AWS with Lambda workers. One worker sends Slack notifications. Another sends signed callbacks. Another expires old approvals.
A typical flow looks like this:
App or agent
-> Nod API
-> Aurora PostgreSQL
-> Slack or web approval
-> Signed callback
-> App continues
Vercel helped us move fast on the user experience. Aurora gave us the reliable data layer needed for real approvals. Together, they helped us build Nod as infrastructure, not just a demo.
Top comments (0)