A production-grade multi-document intelligence platform built with Next.js 16, TypeScript, and AI-powered features. Upload documents and leverage AI for summarization, Q&A chat, comparison analysis, quiz generation, and flashcard creation.
- Multi-format Upload — Drag & drop support for PDF, DOCX, TXT, MD, PPTX (up to 50MB)
- File Queue — Upload multiple files simultaneously with progress tracking
- Document Stats — Word count, character count, page estimation, file size
- Dashboard Analytics — Total documents, summaries generated, storage used
- Short Summary — Brief 2-3 sentence overview
- Medium Summary — Key points and main ideas
- Detailed Summary — Comprehensive breakdown
- Executive Summary — Business-focused overview
- Bullet Points — Scannable bullet-point format
- Action Items — Key tasks and next steps
- Key Insights — Important findings and takeaways
English, Spanish, French, German, Chinese, Japanese, Hindi
Beginner, Intermediate, Advanced, Executive, Technical, General
- Document Chat — RAG-style conversational Q&A about your documents with suggested questions
- Document Comparison — Side-by-side AI comparison of any two uploaded documents
- Quiz Generator — AI-generated multiple-choice questions with scoring and explanations
- Flashcard Generator — 3D flip-animated flashcards with difficulty badges and navigation
- Text-to-Speech — Listen to summaries and content via AI-powered TTS
- Dark/Light/System Theme — Full theme support with next-themes
- Responsive Design — Mobile-first layout with collapsible sidebar
- Smooth Animations — Framer Motion transitions throughout
- Toast Notifications — Real-time feedback for all actions
- shadcn/ui Components — Full component library (New York style) with Lucide icons
| Category | Technology |
|---|---|
| Framework | Next.js 16 (App Router) |
| Language | TypeScript 5 |
| Styling | Tailwind CSS 4 + shadcn/ui |
| Database | SQLite via Prisma ORM |
| State | Zustand + TanStack Query |
| AI Engine | z-ai-web-dev-sdk (LLM + TTS) |
| Animation | Framer Motion |
| Icons | Lucide React |
| Theme | next-themes |
| Notifications | Sonner |
- Node.js 18+ or Bun
- A valid z-ai-web-dev-sdk configuration
# Clone the repository
git clone https://github.com/<your-username>/ai-document-intelligence.git
cd ai-document-intelligence
# Install dependencies
bun install
# Set up database
bun run db:push
bun run db:generate
# Start development server
bun run devThe app will be available at http://localhost:3000.
bun run build
bun run startsrc/
├── app/
│ ├── layout.tsx # Root layout with ThemeProvider
│ ├── page.tsx # Main SPA shell with sidebar
│ └── api/documents/
│ ├── route.ts # GET (list+stats), POST (upload), DELETE
│ ├── [id]/route.ts # GET single document with relations
│ ├── summarize/route.ts # POST: AI summarization (7 types)
│ ├── chat/route.ts # POST: Document Q&A chat
│ ├── compare/route.ts # POST: Compare two documents
│ ├── quiz/route.ts # POST: Generate MCQ quiz
│ ├── flashcards/route.ts # POST: Generate flashcards
│ ├── tts/route.ts # POST: Text-to-speech
│ └── analyze/route.ts # POST: Multi-doc analysis
├── components/
│ ├── app/
│ │ ├── app-sidebar.tsx # Collapsible navigation sidebar
│ │ ├── dashboard-view.tsx # Stats, recent docs, quick actions
│ │ ├── upload-view.tsx # Drag & drop file upload
│ │ ├── document-viewer.tsx # Summary generator + document display
│ │ ├── chat-view.tsx # Document Q&A chat interface
│ │ ├── comparison-view.tsx # Side-by-side doc comparison
│ │ ├── quiz-view.tsx # Quiz generator with scoring
│ │ ├── flashcards-view.tsx # 3D flip flashcards
│ │ └── settings-view.tsx # Theme & settings
│ └── ui/ # shadcn/ui components
├── store/
│ └── ui-store.ts # Zustand global state
├── lib/
│ └── db.ts # Prisma client instance
├── types/
│ └── index.ts # TypeScript types & constants
└── hooks/ # Custom React hooks
- Document — Uploaded files with content, metadata, and stats
- Summary — Generated summaries (type, language, audience, content)
- ChatMessage — Document chat conversation history
- Comparison — Document comparison results
- Quiz — Generated quizzes with questions and answers
- FlashcardSet — Generated flashcard sets
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/documents |
List all documents with stats |
| POST | /api/documents |
Upload new document |
| DELETE | /api/documents?id= |
Delete document |
| GET | /api/documents/[id] |
Get document with summaries & messages |
| POST | /api/documents/summarize |
Generate AI summary |
| POST | /api/documents/chat |
Chat with document |
| POST | /api/documents/compare |
Compare two documents |
| POST | /api/documents/quiz |
Generate quiz |
| POST | /api/documents/flashcards |
Generate flashcards |
| POST | /api/documents/tts |
Text-to-speech |
| POST | /api/documents/analyze |
Multi-document analysis |
MIT