Yap is a feature-rich AI chat application that supports multimodal conversations, document creation, and web search capabilities.
- Next.js 15 - React framework with App Router
- React 19 - UI library
- TypeScript - Type safety
- Tailwind CSS - Styling
- ShadCN UI - Accessible components
- Framer Motion - Animations
- Convex - Backend-as-a-Service with real-time database
- Clerk Auth - Authentication and user management
- Vercel AI SDK - AI integration
- Vercel Blob - File storage
- OpenRouter - Multi-model AI provider
- Exa - Web search capabilities
- CodeMirror - Code editing
- ProseMirror - Rich text editing
-
Clone the repository
git clone https://github.com/hanif-ali/yap.git cd yap -
Install dependencies
pnpm install
-
Set up environment variables
run
cp .env.example .env.localand popular.env.localwith your environment variables -
Set up Convex
npx convex dev
-
Run the development server
pnpm dev
| Variable | Required | Description |
|---|---|---|
NEXT_PUBLIC_CONVEX_URL |
✅ | Your Convex deployment URL |
CONVEX_URL |
✅ | Your Convex deployment URL (server-side) |
NEXT_PUBLIC_CLERK_FRONTEND_API_URL |
✅ | Clerk frontend API URL |
CLERK_SECRET_KEY |
✅ | Clerk secret key |
EXA_API_KEY |
❌ | Exa API key for web search |
REDIS_URL |
❌ | Redis URL for resumable streams |
Contributions are welcome! Please feel free to submit a Pull Request. Major things that I need help with are:
- Improving the authorization (it is very hacky right now)
- Reliability of model responses (Prompts)
- Rate limiting
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.