A minimal yet powerful Google Docs-inspired collaborative rich-text editor built using Next.js, Tiptap, and Tailwind CSS. Designed for real-time collaboration, a clean modern UI, and rich formatting features — this project aims to recreate core Google Docs functionality with open-source tools.
⚠️ Note: This project is still under active development. Contributions and ideas are welcome!
Coming Soon — hosted on Vercel or your preferred platform.
- ✅ Export as PDF / HTML
- ✅ Autosave functionality
- ✅ Comments and version history
- ✅ Image upload & media embedding
- ✅ Role-based access using Clerk Auth.
- ✅ Modern and responsive UI with Tailwind CSS
- ✅ Document renaming and per-document URL routing
- ✅ Real-time collaborative editing via Liveblocks
- ✅ Cloud data storage & backend logic powered by Convex
- ✅ Rich text formatting (bold, italic, underline, headings, bullet/numbered lists)
- 🚧 Light/dark theme support
- 🚧 Keyboard shortcuts support
- 🚧 Slash (
/) command menu to quickly insert formatting
| Technology | Description |
|---|---|
| Next.js | React-based fullstack framework |
| Tiptap | Extensible rich-text editor |
| Liveblocks | Real-time collaboration backend |
| Convex | Serverless database & backend logic |
| Tailwind CSS | Utility-first CSS styling |
| Zustand | Lightweight global state |
| Lucide Icons | Icon set for clean UI |
| TypeScript | Type-safe modern JavaScript |
| Shadcn/UI | Pre-built modern UI components |
| Radix UI | Unstyled accessibility primitives |
git clone https://github.com/Harshit-077/Google-Docs.git
cd Google-Docsnpm install
# or
yarnCreate a .env.local file based on .env.example (if present), and fill in credentials for:
Liveblocks API key Clerk (or any auth provider) Optional: Database or storage keys
npm run dev
# or
yarn devVisit http://localhost:3000 in your browser.
This project integrates Clerk (or similar) for authentication. Ensure API keys and frontend configuration are correctly set in your environment files.
We welcome contributions! Here's how to get started:
Fork the repository Create a new branch: git checkout -b my-feature Commit your changes: git commit -am 'Add new feature' Push to the branch: git push origin my-feature Submit a pull request ✅ Please read the CONTRIBUTING.md for full details.
This project is licensed under the MIT License.
Found a vulnerability? Please check SECURITY.md for how to report responsibly.
Tiptap