WriterFlow is a collaborative document editor for teams that want writing, diagramming, and real-time editing in one place. It combines a Tiptap-based editor with Excalidraw blocks, Yjs synchronization, and AI-assisted diagram generation.
Production URL: https://pruthvi.tech
The project is live and running in production.
WriterFlow reduces context-switching during planning and documentation. Instead of jumping between a text editor, whiteboard app, and separate collaboration tools, teams can:
- write and structure documents,
- generate or draw diagrams inline,
- collaborate with live cursors and presence,
- and keep the entire workflow persisted in one system.
- Real-time collaboration: multi-user editing with live presence and collaborative cursors.
- Rich text editing: headings, lists, code blocks, quotes, and formatting controls.
- Inline diagrams: Excalidraw canvas blocks directly inside documents.
- AI diagram generation: convert natural language prompts into structured diagram elements.
- Authentication and protected routes: secure sessions and controlled document actions.
- Document workflow: create, list, open, edit, save, share links, and PDF export.
- Animated UI: motion-based landing interactions, smooth transitions, and responsive polish.
The current product already uses animation in key user-facing surfaces. To keep the experience smooth and readable, animation should stay purposeful:
- micro-interactions for toolbar and editor actions,
- clear transition states for loading/syncing/reconnecting,
- subtle collaborative feedback for presence and cursor changes,
- and consistent motion timing across landing, dashboard, and editor views.
- Next.js 14 (App Router)
- React 18
- TypeScript
- Tailwind CSS
- Radix UI
- Tiptap
- Yjs
- Hocuspocus (provider + dedicated collaboration server)
- Excalidraw
- Next.js route handlers
- Supabase (Auth + Postgres)
- Zod validation
- jose (JWT for collaboration tokens)
- Groq Chat Completions API
- Docker + Docker Compose
- Nginx reverse proxy
- AWS EC2
app/ Next.js pages, layouts, and API route handlers
components/ UI, landing, editor, auth, and diagram components
hooks/ Collaboration, editor state, and document hooks
lib/ Auth, env, database access, and collaboration utilities
collaboration-server/ Hocuspocus WebSocket collaboration backend
supabase/migrations/ SQL schema and RLS migrations
nginx/ Reverse proxy and SSL configuration
scripts/ Deployment and server setup helpers
-
Install dependencies
npm cinpm --prefix collaboration-server ci
-
Configure environment files
- copy
.env.exampleto.env.local - copy
collaboration-server/.env.exampletocollaboration-server/.env
- copy
-
Run both services
npm run devnpm run collab:dev
-
Open
http://localhost:3000
Production is hosted on AWS EC2 using a containerized architecture:
- Next.js app container
- dedicated Hocuspocus collaboration container
- Nginx for reverse proxy and TLS termination
Supporting infrastructure files are included in this repository, including Dockerfile, docker-compose.yml, and Nginx configuration.
- Expand animation consistency across dashboard and editor states.
- Improve perceived performance for large collaborative documents.
- Enhance version history and restore UX.
- Add richer AI diagram controls (layout presets and refinement actions).
Some parts of this project were built with assistance from Codex during development.
Package metadata currently uses the ISC license.