{"id":47055195,"url":"https://github.com/mohatt/chatbot-starter","last_synced_at":"2026-03-12T03:04:48.644Z","repository":{"id":340427918,"uuid":"1148666654","full_name":"mohatt/chatbot-starter","owner":"mohatt","description":"Full‑stack AI chatbot starter kit.","archived":false,"fork":false,"pushed_at":"2026-03-09T16:25:41.000Z","size":2179,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-09T16:49:49.346Z","etag":null,"topics":["ai","ai-sdk","chatbot","nextjs","vercel"],"latest_commit_sha":null,"homepage":"https://chat.mohatt.dev","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mohatt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-03T08:19:54.000Z","updated_at":"2026-03-09T16:25:44.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/mohatt/chatbot-starter","commit_stats":null,"previous_names":["mohatt/chatbot-starter"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mohatt/chatbot-starter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohatt%2Fchatbot-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohatt%2Fchatbot-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohatt%2Fchatbot-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohatt%2Fchatbot-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mohatt","download_url":"https://codeload.github.com/mohatt/chatbot-starter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohatt%2Fchatbot-starter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30413625,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-12T00:40:14.898Z","status":"online","status_checked_at":"2026-03-12T02:00:07.260Z","response_time":114,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","ai-sdk","chatbot","nextjs","vercel"],"created_at":"2026-03-12T03:04:47.848Z","updated_at":"2026-03-12T03:04:48.635Z","avatar_url":"https://github.com/mohatt.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg alt=\"Demo screen\" src=\"public/project-screen-01.png\" width=\"830\" /\u003e\n\n# Chatbot Starter\n\nFull‑stack AI chatbot starter with RAG, file uploads, and project‑scoped chats, built on **Next.js**, **Vercel AI SDK**, **Postgres**, and **Upstash Vector**.\n\n[Live Demo][vercel-demo]\n\n## Features\n\n- **Streaming chat UI** with Markdown rendering, auto-scroll, and rich AI elements.\n- **Multi-model support** via Vercel AI Gateway (OpenAI, Anthropic, Google, xAI, and many more).\n- **File uploads + RAG** with vector indexing and in-chat file search/read tools.\n- **Conversation branching** with immutable message trees.\n- **Per-message branch navigation** (`1 of N`) to switch between message variants inline.\n- **Web search** support for OpenAI, Anthropic, and Google Gemini models.\n- **Projects + chats** with per-project history and organized sidebar.\n- **Auth + access control** with public/private chat visibility.\n- **System emails** for user account management.\n- **Usage tracking \u0026 limits** with per-user chat credits.\n- **Advanced routing + client-side caching** for seamless navigation and performance.\n\n## Tech Stack\n\n- **Backend:**\n  - **AI layer:** Vercel AI SDK + AI Gateway\n  - **DB layer:** Neon Postgres + Drizzle ORM\n  - **RAG:** Upstash Vector\n  - **File storage:** Vercel Blob\n  - **Authentication:** Better Auth\n  - **Emails:** Resend API\n- **Frontend:**\n  - Next.js 16 + React 19 + React Query\n  - shadcn/ui + Tailwind CSS\n- **Hosting:**\n  - Vercel Platform\n\n## Deploy Your Own\n\nYou can deploy your own version of the Chatbot to Vercel with one click:\n\n[![Deploy with Vercel](https://vercel.com/button)][vercel-deploy]\n\n## Setup\n\n### 1. Install dependencies\n\n```bash\npnpm install\n```\n\n### 2. Database\n\nThe Vercel dashboard will guide you through provisioning **Neon Postgres** and **Upstash Vector** (the required integrations) during setup.\nOnce connected, Vercel will inject the required environment variables automatically.\n\n### 3. Environment variables\n\nMost environment variables are provisioned by Vercel during setup and can be pulled locally with:\n\n```bash\n# Install Vercel CLI\npnpm i -g vercel\n# Link local instance with Vercel and GitHub accounts\nvercel link\n# Download your environment variables locally\nvercel env pull .env.development.local\n```\n\nYou only need to set the required secrets (e.g., `AUTH_SECRET`, `CRON_SECRET`). You may use `openssl rand -base64 32` to generate those secrets.\n\nRefer to [`.env.example`](.env.example) for more information.\n\n\u003e **Recommended:** Set env vars in the Vercel dashboard so they’re automatically included whenever you pull envs.\n\n#### Enable system emails for user account management (Optional)\n\nTo enable user account emails (email verification and password reset), configure:\n\n```bash\nRESEND_API_KEY=\"abc-123\"\nEMAIL_SENDER_ADDRESS=\"no-reply@yourdomain.com\"\n```\n\n### 4. Apply database migrations\n\nAfter your Postgres URL is set locally, run:\n\n```bash\npnpm db:push\n```\n\nThis will sync the current schema in [`lib/db/schema`](./lib/db/schema) to your Postgres database.\n\n### 5. Review app configurations\n\nMost app configurations live in [`lib/config.ts`](./lib/config.ts), including:\n\n- AI models registry and defaults\n- Chat limits (message parts, history, max messages per chat)\n- File upload rules and size limits\n- Billing tiers and usage caps\n- Project limits (e.g., max files)\n\n### 6. Run locally\n\n```bash\npnpm dev\n```\n\nVisit `http://localhost:3000`.\n\n### 7. Deploy to Vercel\n\nOnce the setup steps above are complete, deploy from the Vercel dashboard:\n\n1. Open your project in Vercel.\n2. Click **Deploy** (or push to your connected Git branch).\n\nOr deploy from the CLI:\n\n```bash\nvercel deploy\n```\n\n[vercel-demo]: https://chat.mohatt.dev\n[vercel-deploy]: https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fmohatt%2Fchatbot-starter\u0026env=AUTH_SECRET,CRON_SECRET\u0026envDescription=API%20Keys%20needed%20for%20the%20application.\u0026envLink=https%3A%2F%2Fgithub.com%2Fmohatt%2Fchatbot-starter%23env-vars\u0026project-name=ai-chatbot\u0026repository-name=ai-chatbot\u0026demo-title=Chatbot%20Starter\u0026demo-description=A%20full-stack%20AI%20Chatbot%20Starter%20powered%20by%20Next.js%20and%20Vercel%20AI%20SDK.\u0026demo-url=https%3A%2F%2Fchatbot-starter.vercel.app\u0026demo-image=https%3A%2F%2Fraw.githubusercontent.com%2Fmohatt%2Fchatbot-starter%2Frefs%2Fheads%2Fmain%2Fpublic%2Fproject-logo.png\u0026stores=%5B%7B%22type%22%3A%22integration%22%2C%22protocol%22%3A%22storage%22%2C%22productSlug%22%3A%22neon%22%2C%22integrationSlug%22%3A%22neon%22%7D%2C%7B%22type%22%3A%22integration%22%2C%22protocol%22%3A%22storage%22%2C%22productSlug%22%3A%22upstash-vector%22%2C%22integrationSlug%22%3A%22upstash%22%7D%2C%7B%22type%22%3A%22blob%22%7D%5D\n\n\u003c!--# See https://vercel.com/docs/deploy-button --\u003e\n\u003c!--# See https://vercel.com/docs/deploy-button/source --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmohatt%2Fchatbot-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmohatt%2Fchatbot-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmohatt%2Fchatbot-starter/lists"}