A modern, open-source ChatGPT clone built with TypeScript, React, and Vite. This project aims to replicate and extend the core ChatGPT user experience with an intuitive, fast, and developer-friendly interface.
✨ Features
🌐 Responsive Design — Mobile-first and desktop-ready UI
⚡ Lightning-Fast — Built with Vite for instant hot reloading and speedy builds
🤖 ChatGPT UI/UX — Chat interface modeled after OpenAI’s ChatGPT
💬 Message History — Persistent chat session memory (local/session storage or API-driven)
🧠 OpenAI API Integration — Easily plug in your API key and start chatting (can be extended to local LLMs too!)
📚 Prompt Templates — Save and reuse frequently used prompts
🌓 Dark/Light Mode — Switchable themes for better accessibility
🌍 Multilingual Support (Planned)
🔐 Authentication Support (Optional/Planned)
🧪 Unit & Integration Tests (Optional/Planned)
- Node.js (version 16 or higher)
- npm or yarn package manager
- Git for version control
# Clone the repository
git clone https://github.com/imrajeevnayan/chatgpt.dev.git
# Navigate to the project directory
cd chatgpt.dev
# Install dependencies
npm install
# Or using yarn
yarn install
# Start the development server
vite
# Build for production
vite build
# Start production server
npm start
Visit http://localhost:3000
to view the application.
Script | Description |
---|---|
npm run dev |
Start the development server |
npm run build |
Build the project for production |
npm run lint |
Run the linter |
npm run preview |
Preview the production build |
chatgpt.dev/
├── public/ # Static assets (favicon, images, etc.)
│ └── vite.svg
├── src/ # Application source code
│ ├── assets/ # Local images, fonts, icons
│ ├── components/ # Reusable React components
│ ├── pages/ # Page-level components
│ ├── App.jsx # Root React component
│ ├── main.jsx # Entry point (renders App into DOM)
│ └── index.css # Global styles
├── .gitignore
├── index.html # Main HTML template
├── package.json
├── vite.config.js # Vite configuration (with base set for GitHub Pages)
├── README.md
└── dist/ # Production build output (generated by npm run build)
🌐 Deployment (GitHub Pages)
We use gh-pages to deploy.
Add this to vite.config.js:
export default defineConfig({ base: '/chatgpt.dev/', })
Your site will be live at: https://imrajeevnayan.github.io/chatgpt.dev/
- TypeScript - Primary programming language
- React - Application framework
- react - UI library
- typescript - Typed superset of JavaScript
- vite - Build tool
We welcome contributions! Here's how you can help:
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Make your changes
- Add tests for your changes
- Ensure all tests pass
- Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
- Follow the existing code style
- Run the linter before submitting:
eslint .
- Write meaningful commit messages
- Add tests for new features
- Use the GitHub issue tracker
- Provide detailed information about the bug
- Include steps to reproduce the issue
- Add relevant labels
This project is open source. Please check the repository for license information.
- imrajeevnayan - Project Creator - @imrajeevnayan
- Thanks to all contributors who have helped shape this project
- Inspired by the open-source community
- Built with ❤️ and modern development practices
- ⭐ Stars: 0
- 🍴 Forks: 0
- 🐛 Issues: 0
- 📝 Language: TypeScript
⭐️ If you found this project helpful, please give it a star!