Vrite is a modern full-stack collaborative text editor built with Next.js, powered by Tiptap, Liveblocks, Convex, and Clerk. Designed for real-time collaboration, authentication, and cloud persistence — Vrite brings seamless team writing and editing to the web.
- Authentication – Secure user auth via Clerk
- Rich Text Editing – Feature-rich editor powered by Tiptap
- Real-Time Collaboration – Live cursors and editing using Liveblocks
- Serverless Backend – Blazing fast & reactive storage with Convex
- Full-stack Next.js App – Built with App Router and modern best practices
- Multiple Documents – Create, edit, and organize documents per user
- Auto-save – Persist document changes instantly in the cloud
| Layer | Technology |
|---|---|
| Frontend | Next.js, Tailwind CSS, Tiptap |
| Auth | Clerk |
| Real-time | Liveblocks |
| Backend (DB) | Convex |
| State Sync | Liveblocks + Convex |
| Hosting | Vercel (Frontend), Convex Cloud (Backend) |
git clone https://github.com/txbish/vrite.git
cd vrite
pnpm install # or yarn / npm installCreate a .env.local file in the root and add the following:
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
CLERK_SECRET_KEY=your_clerk_secret_key
NEXT_PUBLIC_LIVEBLOCKS_PUBLIC_KEY=your_liveblocks_public_key
CONVEX_DEPLOYMENT=your_convex_deployment_url
CONVEX_ADMIN_KEY=your_convex_admin_keypnpm dev
# or
npm run dev/app - Next.js App Router
/components - Reusable UI components
/lib - Utilities and Convex/Clerk clients
/hooks - Custom React hooks
/editor - Tiptap configuration
/convex - Convex backend functions (mutation/query)
Contributions, issues and feature requests are welcome! Feel free to open an issue or submit a PR.
Licensed under the MIT License.
- Tiptap – Headless rich-text editor
- Liveblocks – Multiplayer infrastructure
- Convex – Reactive backend
- Clerk – Authentication and user management
- Next.js – React framework for production
Built with ❤️ by Tabish Noman Khan