An AI-powered legal contract generation and risk analysis platform. Generate legally structured contracts from plain language descriptions, then review clause-level risk insights before signing.
- AI Contract Drafting - Describe your needs in plain language to generate professionally structured contracts
- Risk & Ambiguity Detection - Automatically flags risky, vague, or potentially unfavorable clauses
- Safer Alternatives - Provides recommended clause replacements with clear explanations
- RAG-Powered - Uses Retrieval-Augmented Generation with legal templates for better accuracy
- Interactive Q&A - Asks clarifying questions to ensure complete contracts
- Node.js + Express + TypeScript
- MongoDB with Vector Search (Atlas)
- OpenAI GPT-4o-mini
- JWT authentication with HTTP-only cookies
- Next.js 14 (App Router)
- React + TypeScript
- Tailwind CSS
- Framer Motion animations
Enigma2026/
├── Backend/
│ └── src/
│ ├── controllers/ # Request handlers
│ ├── services/ # Business logic (AI, documents, auth)
│ ├── Models/ # MongoDB schemas
│ ├── routes/ # API routes
│ ├── middlewares/ # Auth middleware
│ └── utils/ # Logger utilities
├── frontend/
│ ├── app/ # Next.js pages
│ ├── components/ # React components
│ └── lib/ # Utilities, API client, auth context
└── templates/ # Legal document templates for RAG
- Node.js 20+
- pnpm
- MongoDB Atlas account
- OpenAI API key
Backend (.env)
PORT=5000
MONGODB_URI=mongodb+srv://...
OPENAI_API_KEY=sk-...
JWT_SECRET=your-secret-key
CORS_ORIGIN=http://localhost:3000
TOP_K_RETRIEVAL=5Frontend (.env.local)
NEXT_PUBLIC_API_URL=http://localhost:5000/api# Backend
cd Backend
pnpm install
pnpm dev
# Frontend (new terminal)
cd frontend
pnpm install
pnpm devCreate a vector search index in Atlas for RAG functionality:
- Go to MongoDB Atlas → Your Cluster → Atlas Search
- Create Search Index → JSON Editor
- Database:
Enigma2026, Collection:templatechunks - Index Name:
template_vector_index - Definition:
{
"fields": [{
"type": "vector",
"path": "embedding",
"numDimensions": 1536,
"similarity": "cosine"
}]
}POST /api/auth/register- Create accountPOST /api/auth/login- LoginPOST /api/auth/logout- LogoutGET /api/auth/me- Get current user
GET /api/documents- List all documentsPOST /api/documents/create- Create new documentPOST /api/documents/generate- Generate contractPOST /api/documents/analyze-risk- Analyze risksPOST /api/documents/apply-suggestion- Apply risk fixPOST /api/documents/apply-all-suggestions- Apply all fixes
# Install dependencies
sudo apt update && sudo apt install -y nodejs nginx
npm install -g pnpm pm2
# Clone and setup
git clone <repo> && cd Enigma2026
# Backend
cd Backend && pnpm install
pm2 start "pnpm start" --name backend
# Frontend
cd ../frontend && pnpm install && pnpm build
pm2 start "pnpm start" --name frontend
# Nginx reverse proxy
sudo nano /etc/nginx/sites-available/lexgen
# Configure proxy_pass for / -> localhost:3000 and /api -> localhost:5000
sudo ln -s /etc/nginx/sites-available/lexgen /etc/nginx/sites-enabled/
sudo systemctl restart nginxMIT
- Register or log in via the frontend.
- Navigate to the dashboard and select 'Create New Document'.
- Describe your contract requirements in plain language.
- Click 'Generate Contract' to receive a structured legal draft.
- After generating a contract, click 'Analyze Risks'.
- The platform will highlight risky or ambiguous clauses.
- Review flagged clauses and suggested safer alternatives.
- Apply suggestions individually or all at once.
- Once satisfied, click 'Download PDF' to export your contract.
- Save or share the document as needed.
- Create a consultancy agreement using a template.
- Analyze risks and apply safer clauses.
- Download the finalized contract for signing.