Transform Documents Into Conversations
Experience a new way to interact with your PDFs. Powered by advanced AI for seamless document conversations.
Feather is a modern SaaS application that revolutionizes how you interact with PDF documents. Upload your PDFs and have intelligent conversations with them using advanced AI technology. Perfect for students, researchers, and professionals who need quick insights from their documents.
- AI-Powered Document Chat: Ask questions and get instant answers from your PDF documents
- Smart Vector Search: Advanced semantic search using Pinecone vector database
- PDF Processing: Upload and process PDF files with automatic text extraction
- Real-time Conversations: Stream responses for a seamless chat experience
- Document Management: Organize and manage all your uploaded documents in one place
- User Authentication: Secure authentication system
- Subscription Plans: Free and Pro plans with different quotas
- File Upload: Drag-and-drop interface for easy file uploads
- Mobile-Friendly: Responsive design that works on all devices
- Dashboard: Clean and intuitive dashboard for managing your documents
- 5 pages per PDF
- 4MB file size limit
- Mobile-friendly interface
- 10 PDFs per month
- 25 pages per PDF
- 16MB file size limit
- Higher-quality AI responses
- Priority support
- Unlimited PDFs
- Next.js 14 - React framework with App Router
- TypeScript - Type-safe development
- Tailwind CSS - Utility-first CSS framework
- Radix UI - Accessible component primitives
- React Hook Form - Form management
- Zod - Schema validation
- Next.js API Routes - Serverless API endpoints
- tRPC - End-to-end typesafe APIs
- Prisma 7 - Modern ORM with PostgreSQL adapter
- PostgreSQL - Database (Supabase)
- OpenAI GPT - AI language model for document conversations
- OpenAI Embeddings - Vector embeddings for semantic search
- Pinecone - Vector database for document search
- AWS S3 - File storage
- Stripe - Payment processing
- ESLint - Code linting
- TypeScript - Static type checking
- Prisma Migrate - Database migrations
- Node.js 18+ and npm
- PostgreSQL database (or Supabase account)
- OpenAI API key
- Pinecone API key
- AWS S3 bucket (for file storage)
- Stripe account (for payments)
-
Clone the repository
git clone https://github.com/yourusername/feather-app.git cd feather-app -
Install dependencies
npm install
-
Set up environment variables
Create a
.envfile in the root directory:# Database DATABASE_URL="your-postgresql-connection-string" # OpenAI OPENAI_API_KEY="your-openai-api-key" # Pinecone PINECONE_API_KEY="your-pinecone-api-key" PINECONE_ENVIRONMENT="your-pinecone-environment" PINECONE_INDEX_NAME="feather" # AWS S3 AWS_ACCESS_KEY_ID="your-aws-access-key" AWS_SECRET_ACCESS_KEY="your-aws-secret-key" AWS_REGION="your-aws-region" S3_BUCKET_NAME="your-s3-bucket-name" # Stripe STRIPE_SECRET_KEY="your-stripe-secret-key" STRIPE_WEBHOOK_SECRET="your-stripe-webhook-secret" NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY="your-stripe-publishable-key" # Next.js NEXTAUTH_SECRET="your-nextauth-secret" NEXTAUTH_URL="http://localhost:3000"
-
Set up the database
npx prisma generate npx prisma migrate dev
-
Run the development server
npm run dev
-
Open your browser
Navigate to http://localhost:3000
-
Create Account
- Sign up for a free account or choose the Pro plan for more features
-
Upload PDF
- Go to your dashboard
- Drag and drop your PDF file or click to upload
- Wait for processing to complete
-
Start Chatting
- Open your uploaded document
- Ask questions about the content
- Get instant AI-powered answers
- "What is the main topic of this document?"
- "Summarize the key points"
- "What does section 3 discuss?"
- "Find information about [specific topic]"
feather-app/
βββ prisma/
β βββ schema.prisma # Database schema
β βββ migrations/ # Database migrations
βββ public/ # Static assets
βββ src/
β βββ app/ # Next.js app directory
β β βββ api/ # API routes
β β βββ components/ # React components
β β βββ dashboard/ # Dashboard pages
β β βββ lib/ # Utility functions
β β βββ page.tsx # Landing page
β βββ db/ # Database client
β βββ trpc/ # tRPC routers
β βββ types/ # TypeScript types
βββ .env # Environment variables
βββ package.json # Dependencies
The project uses Prisma 7 with the PostgreSQL adapter. Configuration is split between:
prisma/schema.prisma- Database schema definitionprisma.config.ts- Migration configurationsrc/db/index.ts- Prisma client with adapter setup
For Supabase users, use the direct connection URL (port 5432) for migrations and the pooler URL (port 6543) for application connections.
npm run dev- Start development servernpm run build- Build for productionnpm run start- Start production servernpm run lint- Run ESLint
# Create a new migration
npx prisma migrate dev --name migration_name
# Apply migrations in production
npx prisma migrate deployThis project is private and proprietary.
This is a private project. Contributions are not currently accepted.
For support, please contact the development team or open an issue in the repository.