An intelligent document processing application that uses AI to extract structured data from various file formats. Built with Next.js, Express.js, and Google Gemini AI in a modern Turborepo monorepo structure.
- AI-Powered Extraction: Leverages Google Gemini 2.0 Flash model for intelligent document parsing
- Multi-Format Support: Process PDFs, images, and various document types
- Custom Field Definition: Define exactly what data you want to extract with descriptions
- Credit System: Built-in usage tracking with daily credit resets
- Multiple Export Formats: Export extracted data as CSV, JSON, or Excel
- Next.js 15 with App Router and Turbopack
- Shadcn UI for components
- TanStack Query for data fetching
- React Hook Form with Zod validation
- Express.js with TypeScript
- AI SDK (Gemini 2.0 Flash)
- Better Auth for authentication
- Prisma ORM for database management
- Zod for schema validation
- Docker containerization
- GitHub Actions CI/CD
- Turborepo monorepo management
- pnpm package manager
apps/
├── web/ # Next.js frontend application
├── api/ # Express.js backend API
packages/
├── @repo/db # Prisma database schema and client
├── @repo/schemas # Shared Zod validation schemas
├── @repo/eslint-config # Shared ESLint configuration
└── @repo/typescript-config # Shared TypeScript configuration