Project details
Professional · PrivateAnvita AI
A B2B platform for designing and deploying AI assistants: visual workflow builder, employee-onboarding agent, Slack and MS Teams bots with Azure AD RBAC, credits and billing, and full audit logs.
Role. Worked across the product UI, Node/Express control plane, and Python FastAPI agent runtime, including live progress streaming.
- AI
- Enterprise
- Next.js
- FastAPI
- Billing
- RBAC
Problem
Company rules (who can do what, billing, audit) and long-running agent work do not belong in one fragile process. Operators also need to watch multi-step runs live and ship assistants into Slack or Teams without reinventing auth each time.
Tradeoff
Two systems to maintain so governance and execution can improve on different schedules, with clearer ownership boundaries.
What we considered
- One big backend for everything, rejected because auth, billing, and live updates already lived in a different stack.
- Serverless-only steps with no dedicated runtime, harder to debug multi-step runs with streaming progress.
- Burying bot integrations in ad-hoc scripts, no shared RBAC or audit trail.
How it works
Turborepo monorepo: Next.js for the visual workflow builder and portals; Express + Prisma + Supabase Postgres + Redis for the control plane (login, roles, credits, audit, Azure AD RBAC); FastAPI for the agent runtime that executes steps and streams progress over Socket.IO. Assistants surface in Slack and MS Teams. Files go to AWS S3; services run in Docker.
Decisions
- Keep company controls separate from the engine that runs agents.
- Treat audit logs, credits, and permissions as day-one product requirements.
- Stream run progress so operators can intervene instead of waiting on a black box.
Outcomes
- Visual workflows and governed assistants with credits and audit on the control plane.
- Slack/Teams bots sharing the same RBAC model as the web product.
- Live run visibility for multi-step agent work.
Want to go deeper on this project?
Happy to walk through decisions and constraints.