A Modular Multi-Agent System that orchestrates Research, Drafting, Review, and Next Steps agents using a step-wise state machine. The backend uses Amazon Bedrock (Nova 2 Lite) for reasoning; the frontend provides a real-time dashboard for project creation and document visualization.
- Nova Act (simulated): Each agent follows a cognitive loop: observe context → reason (LLM) → act (structured output).
- Nova 2 Lite: Core LLM for text generation and reasoning.
- Nova Multimodal Embeddings: Placeholder in Research Agent for PDF/image processing (simulated via text extraction for demo).
- Step-wise execution: Orchestrator runs agents in order: Research → Drafting → Review → Next Steps.
nova-docs-architect/
├── backend/ # FastAPI + agents + orchestrator
│ ├── agents/ # Research, Drafting, Review, Next Steps
│ ├── core/ # Orchestrator & state manager
│ ├── models/ # Pydantic project state
│ ├── utils/ # Nova client (Bedrock)
│ ├── main.py
│ └── requirements.txt
├── frontend/ # React + TypeScript + Tailwind
│ ├── src/
│ │ ├── components/
│ │ ├── App.tsx
│ │ └── api.ts
│ └── package.json
└── README.md
cd backend
pip install -r requirements.txtSet environment variables (for Bedrock):
AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEYAWS_REGION(e.g.us-east-1)
Start the API:
uvicorn main:app --reloadAPI runs at http://localhost:8000.
cd frontend
npm install
npm run devApp runs at http://localhost:3000.
Optional: set VITE_API_URL if the API is not at http://localhost:8000.
- Open http://localhost:3000.
- Enter a project idea (e.g. Build a weather app).
- Click Start Project (runs Research step).
- Click Execute Next Step to run Drafting → Review → Next Steps.
- Watch System Logs and Live Output (research JSON, draft document, project plan).
- Persistence: Replace in-memory
active_projectswith Redis or PostgreSQL. - Auth: Add JWT (or similar) to FastAPI routes.
- Nova Act: Use the official Nova Act SDK when available; this structure can act as the Tool Provider layer.
- Multimodal: Wire
generate_multimodal_embeddingto the real Bedrock embedding model for PDF/image bytes.
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/projects/start |
Start a project (body: { "idea": "...", "attachments": [] }). |
| POST | /api/projects/{project_id}/next |
Run the next pipeline step. |
| GET | /api/projects/{project_id} |
Get current project state. |