When teams gather together to review important documents, magic happens. Different perspectives collide, expertise mingles, and insights emerge that no single person could have discovered alone.
This project uses Strands Agents and Amazon Nova models to build AI Doc Read Studio, a web-based collaborative document review application using AI agents to simulate a discussion.
You can use it to prepare for a meeting or just get feedback on what you're working on.
- Document Upload: Support for TXT, Markdown, Word (.docx), and PDF files
- Team Management: Configure AI agents with custom roles and Nova model selection
- Multi-Agent Conversations: Intelligent discussions using Strands Agents framework
- Real-time Updates: WebSocket-based live conversation updates
- Export Options: Download conversations and action plans as Markdown or PDF
- Model Selection: Choose from Amazon Nova Micro, Lite, Pro, or Premier models
- Python 3.10+
- UV package manager - fastest Python package installer
- AWS credentials configured for Bedrock access
git clone https://github.com/danilop/ai-doc-read-studio
cd ai-doc-read-studio
# Simplified way to install dependencies and start both backend and frontend servers
./start.shOpen the Web Interface: http://localhost:3000
-
Clone the repository:
git clone https://github.com/danilop/ai-doc-read-studio cd ai-doc-read-studio -
Install dependencies with UV:
uv sync
# Start both backend and frontend servers
uv run python start_app.pyBackend:
uv run uvicorn backend.main:app --host 0.0.0.0 --port 8000 --reloadFrontend:
uv run python -m http.server 3000 --directory frontend- Web Interface: http://localhost:3000
- API Documentation: http://localhost:8000/docs
- Backend API: http://localhost:8000
- Upload Documents: Drag and drop or select files (TXT, MD, DOCX, PDF)
- Configure Team: Set up AI agents with different roles and models
- Start Discussion: Let agents analyze and discuss the document
- Interactive Chat: Ask follow-up questions and guide the conversation
- Export Results: Download conversations and action plans
The application supports multiple AI agents with different perspectives:
- Product Manager: Strategy and market analysis
- Tech Lead: Technical architecture and implementation
- UX Designer: User experience and design considerations
- Security Expert: Security and compliance review
Choose from Amazon Nova models based on your needs:
- Nova Micro: Fast, basic analysis
- Nova Lite: Balanced performance and cost
- Nova Pro: Advanced reasoning capabilities
- Nova Premier: Highest quality analysis
ai-doc-read-studio/
βββ backend/ # FastAPI backend
β βββ main.py # Main application
β βββ agents.py # AI agents integration
β βββ document_parser.py # Document processing
βββ frontend/ # Web interface
β βββ index.html # Main UI
β βββ app.js # Frontend logic
β βββ config.js # Configuration
βββ tests/ # Test suite
βββ pyproject.toml # UV dependencies
βββ config.json # Application config
βββ sample_doc.md # Sample document
# Run all tests
uv run pytest
# Run with coverage
uv run pytest --cov=backend --cov-report=html
# Run specific test files
uv run pytest tests/test_api.py -v# Format code
uv run black .
# Lint code
uv run ruff check .
# Fix linting issues
uv run ruff check . --fixInstall development tools:
uv sync --devEdit config.json to customize:
{
"backend": {
"host": "0.0.0.0",
"port": 8000,
"log_level": "info"
},
"frontend": {
"host": "localhost",
"port": 3000
},
"api": {
"base_url": "http://localhost:8000"
}
}For production use with real AI models:
-
Configure AWS credentials:
aws configure # OR set environment variables export AWS_ACCESS_KEY_ID=your_key export AWS_SECRET_ACCESS_KEY=your_secret export AWS_DEFAULT_REGION=us-east-1
-
Ensure Bedrock access: Your AWS account needs access to Amazon Bedrock and Nova models
POST /upload- Upload documentsPOST /sessions- Create discussion sessionPOST /sessions/{id}/prompt- Add conversation promptGET /sessions/{id}- Get session detailsPOST /sessions/{id}/export- Export conversationPOST /export/content- Export arbitrary contentWebSocket /ws- Real-time updates
- Installation issues: Ensure UV is installed:
curl -LsSf https://astral.sh/uv/install.sh | sh - Port conflicts: Check if ports 8000/3000 are available
- AWS credentials: Demo mode works without AWS; production needs Bedrock access
- Module errors: Always use
uv runfor Python commands - Cache issues: Clear browser cache or use Ctrl+F5
- Fork the repository
- Create a feature branch
- Make changes with tests
- Run quality checks:
uv run pytest && uv run ruff check . && uv run black . - Submit a pull request
MIT License - see LICENSE file for details.
- GitHub Issues: For bugs and feature requests
- Documentation: Check the
/docsendpoint when running - Sample Document: Use
sample_doc.mdfor testing