https://github.com/abdullah-dev0/texttalk
TextTalk is a cutting-edge AI-powered web application that lets users interact with PDF documents using natural language. Built with LangChain and vercel Ai Sdk.
https://github.com/abdullah-dev0/texttalk
ai aisdk langchain llms nextjs openai prisma reactjs shadcn-ui tailwindcss typescript vercel
Last synced: about 2 months ago
JSON representation
TextTalk is a cutting-edge AI-powered web application that lets users interact with PDF documents using natural language. Built with LangChain and vercel Ai Sdk.
- Host: GitHub
- URL: https://github.com/abdullah-dev0/texttalk
- Owner: Abdullah-dev0
- Created: 2025-08-04T17:28:14.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-09-06T06:09:08.000Z (10 months ago)
- Last Synced: 2025-09-06T07:24:55.891Z (10 months ago)
- Topics: ai, aisdk, langchain, llms, nextjs, openai, prisma, reactjs, shadcn-ui, tailwindcss, typescript, vercel
- Language: TypeScript
- Homepage: https://texttalk.abdulah.site
- Size: 2.19 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# TextTalk - A Modern Fullstack Platform
Built with the Next.js 14.0 App Router, tRPC, TypeScript, Prisma & Tailwind
## Features
- š ļø Complete SaaS Built From Scratch
- š» Beautiful Landing Page & Pricing Page Included ( coming soon )
- š³ Free & Pro Plan Using polar.sh ( coming soon )
- š A Beautiful And Highly Functional PDF Viewer
- š Streaming API Responses in Real-Time using Vercel Ai sdk
- š Authentication Using clerk
- šØ Clean, Modern UI Using 'shadcn-ui'
- š Optimistic UI Updates for a Great UX
- š¤ Intuitive Drag nā Drop Uploads
- ⨠Instant Loading States
- š§ Vercel Ai sdk
- š² Pinecone as our Vector Storage
- š Prisma as our ORM
- š¤ 100% written in TypeScript
- š ...much more
## Getting Started
Follow these steps to set up and run the project locally:
### 1. Clone the repository
```bash
git clone https://github.com/Abdullah-dev0/TextTalk.git
cd texttalk
```
### 2. Install dependencies
Make sure you have all the dependencies installed by running:
```bash
npm install
```
### 3. Set up environment variables
1. Duplicate the `.env.example` file and rename it to `.env`.
2. Fill in the required environment variables in the `.env` file:
```plaintext
# Clerk for secure, fast authentication - https://clerk.dev
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=
CLERK_SECRET_KEY=
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
NEXT_PUBLIC_CLERK_SIGN_IN_FORCE_REDIRECT_URL=/dashboard
NEXT_PUBLIC_CLERK_SIGN_UP_FORCE_REDIRECT_URL=/dashboard
WEBHOOK_SECRET=
# Database for storing everything except PDF files - (Provider up to you, I like PlanetScale)
DATABASE_URL=
# Uploadthing for storing PDF files - https://uploadthing.com/dashboard
UPLOADTHING_SECRET=
UPLOADTHING_APP_ID=
UPLOADTHING_TOKEN=
# Mistral API for answering PDF questions - https://console.mistral.ai/
MISTRAL_API_KEY=
# Pinecone for vector storage - https://www.pinecone.io/
PINECONE_API_KEY=
# Upstash Redis (optional) - https://upstash.com/
UPSTASH_REDIS_REST_URL=
UPSTASH_REDIS_REST_TOKEN=
# Environment
NODE_ENV=development
```
**Required Services:**
- **Clerk** - Authentication ([Get started](https://clerk.dev))
- **Database** - MongoDb
- **Uploadthing** - PDF file storage ([Get started](https://uploadthing.com/dashboard))
- **Mistral API** - AI for answering PDF questions ([Get API key](https://console.mistral.ai/))
- **Pinecone** - Vector database for embeddings ([Get started](https://www.pinecone.io/))
- **Upstash Redis** - For caching and rate limiting
### 4. Start the development server
Once the environment variables are configured, start the server:
```bash
npm run dev
```
### 5. Access the application
Open your browser and navigate to `http://localhost:3000` to view the application.
---