pxt.chat is a cutting-edge AI chat application built with the latest web technologies. It leverages the power of Next.js 15, Drizzle ORM, and Neon's serverless database to deliver a seamless, real-time chat experience with AI models. The application features a beautiful, responsive UI built with shadcn/ui and Tailwind CSS.
- Multi-LLM Support: Chat with various AI models including OpenAI, Gemini, and more
- Real-time Streaming: Experience fluid, real-time responses with streaming support
- Code & Markdown Support: Beautiful syntax highlighting and markdown rendering
- Gemini Integration: Generate images using Google's Gemini models
- Web Search: Get up-to-date information with integrated web search
- Chat Branching: Explore different conversation paths with branching
- Conversation Sharing: Share your chats via unique links
- File Attachments: Upload and share files in your conversations
- Message Editing: Edit and refine your messages
- Context-Aware: Maintains conversation context for more coherent discussions
- Model Switching: Retry AI responses with different models on the fly
- Secure Authentication: Built with NextAuth.js
- Chat History: Your conversations are saved and synced across devices
- BYOK (Bring Your Own Key): Use your own API keys for LLM providers
- Responsive Design: Works on desktop and mobile
- Accessible: Built with accessibility in mind
- Framework: Next.js 15 with App Router
- Database: Neon (PostgreSQL) with Drizzle ORM
- Authentication: NextAuth.js
- State Management: Zustand
- API Layer: tRPC & Next JS API Routes for end-to-end typesafe APIs
- Styling: Tailwind CSS with shadcn/ui components
- Icons: Lucide Icons & React Icons
- UI Components: Radix UI Primitives
- Form Handling: React Hook Form with Zod validation
- Markdown: React Markdown with remark-gfm
- Code Highlighting: React Syntax Highlighter
- LLM Providers: OpenAI, Gemini, OpenRouter support
- Image Handling: ImageKit integration
- Node.js 18+ & Bun (recommended) or npm
- PostgreSQL database (or use Neon's serverless Postgres)
-
Clone the repository:
git clone https://github.com/PrtHub/pxt.chat.git cd pxt.chat
-
Install dependencies:
# Using Bun (recommended) bun install # Or using npm npm install
-
Set up environment variables:
cp .env.example .env.local # Update the environment variables in .env.local
-
Run database migrations:
bun run db:push
-
Start the development server:
bun dev
-
Open http://localhost:3000 in your browser
Contributions are welcome! Please read our contributing guidelines to get started.
This project is licensed under the MIT License - see the LICENSE file for details.
"A conversation that flows as fast as you can think, with real-time streaming and a UI that never gets in your way."