Projects

Build your own ChatGPT

2023·1 min read

React
TypeScript
Tailwind CSS
NextJS
LinkGitHub

A polished, production-grade clone of ChatGPT built on the Vercel AI SDK and OpenAI's Edge runtime. Sign in with GitHub or Google to keep your chat history, drop into guest mode for a quick session, or share any conversation with a public link.

Build your own ChatGPT — a streaming AI chatbot with auth, persistent history, and shareable conversations.

🚀 Try it live →

A polished, production-grade clone of ChatGPT built on the Vercel AI SDK and OpenAI's Edge runtime. Sign in with GitHub or Google to keep your chat history, drop into guest mode for a quick session, or share any conversation with a public link.

✨ Features

  • Streaming responses — token-by-token replies via the Vercel AI SDK over Next.js Edge runtime
  • Auth via NextAuth — GitHub and Google providers, plus a one-click guest mode for ephemeral chats
  • Persistent chat history — every conversation saved to Upstash / Vercel KV (Redis), indexed per user
  • Shareable conversations — turn any chat into a public, read-only link
  • Bring-your-own key — override the server's OpenAI key per-request with a preview token
  • Rich markdown rendering — GFM tables, math via remark-math, and syntax-highlighted code blocks
  • Polished UI — shadcn/ui + Radix primitives, dark theme by default, fully responsive
  • Configurable model — pick any chat-completion model via OPEN_AI_MODEL (defaults to gpt-3.5-turbo)

🛠️ Tech Stack

Layer Technology
Framework Next.js 13 (App Router, Edge runtime) + React 18
Language TypeScript
AI Vercel AI SDK (ai) + openai-edge
Auth NextAuth.js (GitHub, Google)
Storage Upstash Redis / Vercel KV
UI Tailwind CSS, shadcn/ui, Radix UI, Lucide icons
Content react-markdown, remark-gfm, remark-math, react-syntax-highlighter
Forms & Validation react-hook-form + Zod
Tooling ESLint, Prettier, Husky

🙌 Credits

Built by Mohamed Gado.

More projects

  • Movies/Series streaming platform2023 · React
  • Social Media Downloader2026 · Next.js
  • Books library2024 · React
All projects