Spaces:
Sleeping
Sleeping
v4.0: Landing page — add OCR, Chatbot, Redlining to features + update footer to v4.0
Browse files- web/app/page.tsx +25 -20
web/app/page.tsx
CHANGED
|
@@ -3,7 +3,8 @@ import {
|
|
| 3 |
ShieldCheck, ShieldAlert, Scale, Gavel, ScanText, FileCheck,
|
| 4 |
TriangleAlert, ArrowRight, Zap, Eye, Download, ChevronRight,
|
| 5 |
Sparkles, Lock, Globe, Ban, FileX, Stamp, Layers, Tag, AlertTriangle,
|
| 6 |
-
ClipboardList, Landmark, Building, BookOpen, CheckCircle, Cpu
|
|
|
|
| 7 |
} from "lucide-react";
|
| 8 |
|
| 9 |
const CLAUSES = [
|
|
@@ -21,22 +22,26 @@ const CLAUSES = [
|
|
| 21 |
{ icon: ClipboardList, name: "Obligations", desc: "Track monetary, compliance, reporting tasks with priority", severity: "medium" },
|
| 22 |
{ icon: Landmark, name: "Compliance", desc: "GDPR, CCPA, SOX, HIPAA, FINRA with negation detection", severity: "high" },
|
| 23 |
{ icon: BookOpen, name: "Compare Contracts", desc: "Semantic similarity with sentence embeddings", severity: "low" },
|
|
|
|
|
|
|
|
|
|
|
|
|
| 24 |
];
|
| 25 |
|
| 26 |
const STEPS = [
|
| 27 |
-
{ icon: Download, title: "Upload or paste", desc: "Drop a PDF, DOCX, or paste contract text directly." },
|
| 28 |
-
{ icon: ScanText, title: "
|
| 29 |
-
{ icon: TriangleAlert, title: "Get precise insights", desc: "Risk score, contradictions, obligations,
|
| 30 |
];
|
| 31 |
|
| 32 |
const PRICING = [
|
| 33 |
{
|
| 34 |
name: "Free", price: "0", period: "", highlight: false, cta: "Get started",
|
| 35 |
-
features: ["10 scans per month", "41 clause categories", "Risk scoring", "ML Legal NER", "NLI contradiction detection", "Compliance with negation detection"],
|
| 36 |
},
|
| 37 |
{
|
| 38 |
name: "Pro", price: "999", period: "/mo", highlight: true, cta: "Start free trial",
|
| 39 |
-
features: ["Unlimited scans", "Upload PDF/DOCX files", "Contract comparison", "AI clause explanations", "Scan history", "PDF report export", "Obligation tracker with priority", "Priority support"],
|
| 40 |
},
|
| 41 |
{
|
| 42 |
name: "Team", price: "3,999", period: "/mo", highlight: false, cta: "Talk to us",
|
|
@@ -59,14 +64,14 @@ export default function Home() {
|
|
| 59 |
<div className="max-w-2xl">
|
| 60 |
<div className="inline-flex items-center gap-2 px-3 py-1 rounded-full border border-zinc-200 text-[13px] text-zinc-500 mb-6">
|
| 61 |
<Sparkles className="w-3.5 h-3.5 text-zinc-400" />
|
| 62 |
-
|
| 63 |
</div>
|
| 64 |
<h1 className="text-3xl sm:text-[42px] lg:text-5xl font-semibold tracking-tight leading-[1.1]">
|
| 65 |
Know what you are<br className="hidden sm:block" /> agreeing to
|
| 66 |
</h1>
|
| 67 |
<p className="mt-5 text-base sm:text-[17px] text-zinc-500 leading-relaxed max-w-lg">
|
| 68 |
-
ClauseGuard scans contracts
|
| 69 |
-
|
| 70 |
</p>
|
| 71 |
<div className="mt-8 flex flex-col sm:flex-row gap-3">
|
| 72 |
<Link href="/dashboard-pages/analyze" className="inline-flex items-center justify-center gap-2 bg-zinc-900 text-white px-5 py-2.5 rounded-lg text-sm font-medium hover:bg-zinc-800 transition-colors">
|
|
@@ -87,11 +92,11 @@ export default function Home() {
|
|
| 87 |
<ShieldCheck className="w-4 h-4 text-zinc-400" />
|
| 88 |
<p className="text-[13px] font-medium text-zinc-400 uppercase tracking-wider">Detection</p>
|
| 89 |
</div>
|
| 90 |
-
<h2 className="text-xl sm:text-2xl font-semibold tracking-tight">
|
| 91 |
<p className="mt-2 text-zinc-500 text-sm sm:text-[15px] max-w-lg">
|
| 92 |
-
Based on the CUAD taxonomy + CLAUDETTE framework
|
| 93 |
</p>
|
| 94 |
-
<div className="mt-8 sm:mt-10 grid grid-cols-2 sm:grid-cols-
|
| 95 |
{CLAUSES.map((c) => (
|
| 96 |
<div key={c.name} className="group border border-zinc-100 rounded-xl p-3 sm:p-4 hover:border-zinc-200 hover:shadow-sm transition-all cursor-default">
|
| 97 |
<div className={`w-7 h-7 sm:w-8 sm:h-8 rounded-lg flex items-center justify-center border ${sevColor[c.severity]}`}>
|
|
@@ -135,15 +140,15 @@ export default function Home() {
|
|
| 135 |
<Cpu className="w-4 h-4 text-zinc-400" />
|
| 136 |
<p className="text-[13px] font-medium text-zinc-400 uppercase tracking-wider">Technology</p>
|
| 137 |
</div>
|
| 138 |
-
<h2 className="text-xl sm:text-2xl font-semibold tracking-tight">Built on
|
| 139 |
<div className="mt-8 grid sm:grid-cols-2 lg:grid-cols-3 gap-3 sm:gap-4">
|
| 140 |
{[
|
| 141 |
-
{ name: "Legal-BERT Classifier", icon: Cpu, desc: "LoRA fine-tuned on 41 CUAD categories with sigmoid multi-label classification
|
| 142 |
-
{ name: "Legal-BERT NER", icon: Tag, desc: "
|
| 143 |
-
{ name: "DeBERTa-v3 NLI", icon: AlertTriangle, desc: "
|
| 144 |
-
{ name: "
|
| 145 |
-
{ name: "
|
| 146 |
-
{ name: "
|
| 147 |
].map((m) => (
|
| 148 |
<div key={m.name} className="border border-zinc-100 rounded-xl p-4 hover:border-zinc-200 hover:shadow-sm transition-all">
|
| 149 |
<div className="flex items-center gap-2 mb-2">
|
|
@@ -211,7 +216,7 @@ export default function Home() {
|
|
| 211 |
<div className="max-w-6xl mx-auto px-4 sm:px-6 py-8 flex flex-col sm:flex-row justify-between items-center gap-4">
|
| 212 |
<div className="flex items-center gap-2">
|
| 213 |
<ShieldCheck className="w-4 h-4 text-zinc-300" />
|
| 214 |
-
<span className="text-[13px] text-zinc-400">ClauseGuard
|
| 215 |
</div>
|
| 216 |
<div className="flex gap-5 text-[13px] text-zinc-400">
|
| 217 |
<Link href="/privacy" className="hover:text-zinc-600">Privacy</Link>
|
|
|
|
| 3 |
ShieldCheck, ShieldAlert, Scale, Gavel, ScanText, FileCheck,
|
| 4 |
TriangleAlert, ArrowRight, Zap, Eye, Download, ChevronRight,
|
| 5 |
Sparkles, Lock, Globe, Ban, FileX, Stamp, Layers, Tag, AlertTriangle,
|
| 6 |
+
ClipboardList, Landmark, Building, BookOpen, CheckCircle, Cpu,
|
| 7 |
+
MessageSquare, PenTool, ScanLine
|
| 8 |
} from "lucide-react";
|
| 9 |
|
| 10 |
const CLAUSES = [
|
|
|
|
| 22 |
{ icon: ClipboardList, name: "Obligations", desc: "Track monetary, compliance, reporting tasks with priority", severity: "medium" },
|
| 23 |
{ icon: Landmark, name: "Compliance", desc: "GDPR, CCPA, SOX, HIPAA, FINRA with negation detection", severity: "high" },
|
| 24 |
{ icon: BookOpen, name: "Compare Contracts", desc: "Semantic similarity with sentence embeddings", severity: "low" },
|
| 25 |
+
{ icon: PenTool, name: "Clause Redlining", desc: "AI suggests safer alternatives with legal citations", severity: "critical" },
|
| 26 |
+
{ icon: MessageSquare, name: "Q&A Chatbot", desc: "Ask questions about your contract — RAG-powered answers", severity: "medium" },
|
| 27 |
+
{ icon: ScanLine, name: "OCR for Scanned PDFs", desc: "docTR engine auto-detects and OCRs scanned contracts", severity: "low" },
|
| 28 |
+
{ icon: Cpu, name: "6 AI Models", desc: "Legal-BERT, NER, NLI, Embeddings, OCR, Qwen2.5-7B LLM", severity: "low" },
|
| 29 |
];
|
| 30 |
|
| 31 |
const STEPS = [
|
| 32 |
+
{ icon: Download, title: "Upload or paste", desc: "Drop a PDF (even scanned!), DOCX, or paste contract text directly." },
|
| 33 |
+
{ icon: ScanText, title: "6 AI models analyze", desc: "Legal-BERT + NER + NLI + OCR + Embeddings + LLM scan your contract." },
|
| 34 |
+
{ icon: TriangleAlert, title: "Get precise insights", desc: "Risk score, redlining, Q&A chatbot, contradictions, obligations, and compliance." },
|
| 35 |
];
|
| 36 |
|
| 37 |
const PRICING = [
|
| 38 |
{
|
| 39 |
name: "Free", price: "0", period: "", highlight: false, cta: "Get started",
|
| 40 |
+
features: ["10 scans per month", "41 clause categories", "Risk scoring", "ML Legal NER", "NLI contradiction detection", "Compliance with negation detection", "Clause redlining suggestions", "OCR for scanned PDFs"],
|
| 41 |
},
|
| 42 |
{
|
| 43 |
name: "Pro", price: "999", period: "/mo", highlight: true, cta: "Start free trial",
|
| 44 |
+
features: ["Unlimited scans", "Upload PDF/DOCX files", "Contract comparison", "Q&A Chatbot (RAG)", "AI clause explanations", "LLM-refined redlining", "Scan history", "PDF report export", "Obligation tracker with priority", "Priority support"],
|
| 45 |
},
|
| 46 |
{
|
| 47 |
name: "Team", price: "3,999", period: "/mo", highlight: false, cta: "Talk to us",
|
|
|
|
| 64 |
<div className="max-w-2xl">
|
| 65 |
<div className="inline-flex items-center gap-2 px-3 py-1 rounded-full border border-zinc-200 text-[13px] text-zinc-500 mb-6">
|
| 66 |
<Sparkles className="w-3.5 h-3.5 text-zinc-400" />
|
| 67 |
+
6 AI models · 41 clause categories · RAG chatbot · clause redlining · OCR
|
| 68 |
</div>
|
| 69 |
<h1 className="text-3xl sm:text-[42px] lg:text-5xl font-semibold tracking-tight leading-[1.1]">
|
| 70 |
Know what you are<br className="hidden sm:block" /> agreeing to
|
| 71 |
</h1>
|
| 72 |
<p className="mt-5 text-base sm:text-[17px] text-zinc-500 leading-relaxed max-w-lg">
|
| 73 |
+
ClauseGuard scans contracts using 6 AI models. Get clause detection, risk scoring,
|
| 74 |
+
safer alternatives, Q&A chatbot, OCR for scanned PDFs, and compliance checks.
|
| 75 |
</p>
|
| 76 |
<div className="mt-8 flex flex-col sm:flex-row gap-3">
|
| 77 |
<Link href="/dashboard-pages/analyze" className="inline-flex items-center justify-center gap-2 bg-zinc-900 text-white px-5 py-2.5 rounded-lg text-sm font-medium hover:bg-zinc-800 transition-colors">
|
|
|
|
| 92 |
<ShieldCheck className="w-4 h-4 text-zinc-400" />
|
| 93 |
<p className="text-[13px] font-medium text-zinc-400 uppercase tracking-wider">Detection</p>
|
| 94 |
</div>
|
| 95 |
+
<h2 className="text-xl sm:text-2xl font-semibold tracking-tight">18 powerful analysis features</h2>
|
| 96 |
<p className="mt-2 text-zinc-500 text-sm sm:text-[15px] max-w-lg">
|
| 97 |
+
Based on the CUAD taxonomy + CLAUDETTE framework. Now with RAG chatbot, clause redlining, and OCR.
|
| 98 |
</p>
|
| 99 |
+
<div className="mt-8 sm:mt-10 grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-4 gap-2 sm:gap-3">
|
| 100 |
{CLAUSES.map((c) => (
|
| 101 |
<div key={c.name} className="group border border-zinc-100 rounded-xl p-3 sm:p-4 hover:border-zinc-200 hover:shadow-sm transition-all cursor-default">
|
| 102 |
<div className={`w-7 h-7 sm:w-8 sm:h-8 rounded-lg flex items-center justify-center border ${sevColor[c.severity]}`}>
|
|
|
|
| 140 |
<Cpu className="w-4 h-4 text-zinc-400" />
|
| 141 |
<p className="text-[13px] font-medium text-zinc-400 uppercase tracking-wider">Technology</p>
|
| 142 |
</div>
|
| 143 |
+
<h2 className="text-xl sm:text-2xl font-semibold tracking-tight">Built on 6 production AI models</h2>
|
| 144 |
<div className="mt-8 grid sm:grid-cols-2 lg:grid-cols-3 gap-3 sm:gap-4">
|
| 145 |
{[
|
| 146 |
+
{ name: "Legal-BERT Classifier", icon: Cpu, desc: "LoRA fine-tuned on 41 CUAD categories with sigmoid multi-label classification", source: "Mokshith31/legalbert-contract-clause-classification" },
|
| 147 |
+
{ name: "Legal-BERT NER", icon: Tag, desc: "Named entity recognition for parties, dates, money, jurisdictions", source: "matterstack/legal-bert-ner" },
|
| 148 |
+
{ name: "DeBERTa-v3 NLI", icon: AlertTriangle, desc: "Semantic contradiction detection between clause pairs", source: "cross-encoder/nli-deberta-v3-base" },
|
| 149 |
+
{ name: "RAG Chatbot", icon: MessageSquare, desc: "Embedding retrieval + Qwen2.5-7B LLM for contract Q&A", source: "all-MiniLM-L6-v2 + Qwen/Qwen2.5-7B-Instruct" },
|
| 150 |
+
{ name: "Clause Redlining", icon: PenTool, desc: "18+ legal templates + LLM refinement for safer clause alternatives", source: "FTC/EU/CFPB standards + Qwen2.5-7B" },
|
| 151 |
+
{ name: "docTR OCR", icon: ScanLine, desc: "Smart PDF router: auto-detects scanned PDFs and extracts text", source: "docTR fast_base + crnn_vgg16_bn" },
|
| 152 |
].map((m) => (
|
| 153 |
<div key={m.name} className="border border-zinc-100 rounded-xl p-4 hover:border-zinc-200 hover:shadow-sm transition-all">
|
| 154 |
<div className="flex items-center gap-2 mb-2">
|
|
|
|
| 216 |
<div className="max-w-6xl mx-auto px-4 sm:px-6 py-8 flex flex-col sm:flex-row justify-between items-center gap-4">
|
| 217 |
<div className="flex items-center gap-2">
|
| 218 |
<ShieldCheck className="w-4 h-4 text-zinc-300" />
|
| 219 |
+
<span className="text-[13px] text-zinc-400">ClauseGuard v4.0 — not legal advice</span>
|
| 220 |
</div>
|
| 221 |
<div className="flex gap-5 text-[13px] text-zinc-400">
|
| 222 |
<Link href="/privacy" className="hover:text-zinc-600">Privacy</Link>
|