A full-stack contract intelligence platform demonstrating RAG architecture, AI-powered analytics, and modern web development.
┌─────────────────────────────────────────────────────────────────┐
│ React Frontend │
│ TypeScript · Tailwind CSS · Vite │
└─────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ FastAPI Backend │
│ REST API · Async · CORS │
└─────────────────────────────────────────────────────────────────┘
│
┌───────────────┼───────────────┐
▼ ▼ ▼
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ RAG Chain │ │ Intelligence│ │ Revenue │
│ LangChain │ │ Engine │ │ Engine │
└──────────────┘ └──────────────┘ └──────────────┘
│ │ │
└───────────────┼───────────────┘
▼
┌──────────────────────────────────────────────┐
│ ChromaDB Vector Store │
│ Embeddings · MMR Retrieval │
└──────────────────────────────────────────────┘
│
▼
┌──────────────────────────────────────────────┐
│ Azure OpenAI │
│ GPT-5-nano · text-embedding-3-small │
└──────────────────────────────────────────────┘
Natural language queries across 100+ contract documents
MMR (Maximal Marginal Relevance) retrieval for diverse, relevant results
Source citation with document references
Conversation context maintained across queries
Automated risk scoring based on contract terms
Churn probability prediction with contributing factors
Side-by-side contract comparison
What-if scenario modeling for term changes
AI-assisted contract generation from natural language
Revenue Analytics Dashboard
Multi-tab analytics interface (Leakage, Opportunities, Signals, Actions)
Prioritized action queue with impact scoring
Client signal detection and alerting
AI-generated outreach content
Leakage Detection
Opportunity Identification
Signal Monitoring
Action Queue
Layer
Technologies
Frontend
React 18, TypeScript, Tailwind CSS, Vite
Backend
FastAPI, Python 3.12, Pydantic
AI/ML
LangChain, Azure OpenAI (GPT-5-nano), ChromaDB
Document Processing
PyPDF, tiktoken, text-splitters
Implementation Highlights
Chunking strategy: 1500 characters with 200 overlap
Embedding model: text-embedding-3-small (1536 dimensions)
Retrieval: MMR with k=60 for multi-document comparison queries
Vector store: ChromaDB with persistent local storage
RESTful endpoints with Pydantic validation
Async request handling
Structured error responses
CORS configuration for frontend integration
Single-page application with client-side routing
Real-time state management with React hooks
Responsive design with Tailwind utilities
Dark mode UI for analytics dashboards
Method
Endpoint
Description
POST
/chat
Natural language contract queries
GET
/contracts
List contracts with metadata
GET
/metrics
Portfolio aggregations
GET
/intelligence/risk
Risk analysis results
GET
/intelligence/churn
Churn predictions
POST
/intelligence/simulate
What-if scenario modeling
POST
/intelligence/compare
Contract comparison
POST
/intelligence/generate
AI contract generation
GET
/revenue/command-center
Revenue analytics data
POST
/revenue/generate-outreach
AI-generated outreach content
Python 3.10+
Node.js 18+
Azure OpenAI API access
# Backend
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
cp .env.example .env # Configure Azure OpenAI credentials
# Generate sample data
python generate_contracts.py
python ingestion.py
# Start API server
uvicorn backend_api:app --port 8001
# Frontend
cd frontend
npm install
npm run dev
Open http://localhost:5173
├── backend_api.py # FastAPI application
├── rag_chat.py # LangChain RAG implementation
├── contract_intelligence.py # Risk and churn analysis
├── revenue_intelligence.py # Revenue analytics engine
├── ingestion.py # Document processing pipeline
├── config.py # Configuration management
├── generate_contracts.py # Synthetic data generation
├── data/ # Contract documents
├── frontend/
│ ├── src/
│ │ ├── App.tsx # Main application
│ │ ├── main.tsx # Entry point
│ │ └── index.css # Tailwind styles
│ └── package.json
└── screenshots/