Notify is a real-time collaborative note-taking application designed for teams to share and edit notes simultaneously. Developed during an intensive 2-week sprint, this project combines robust technical implementation with thoughtful UI/UX design. Built with modern web technologies, it eliminates the need for file sharing through seamless synchronization while maintaining a user-friendly interface.
Core Features
- Real-time collaborative editing using Yjs CRDTs
- Secure user authentication with JWT tokens
- Rich text formatting with Quill editor
- Team-based note organization
- Cross-device synchronization
Technical Accomplishments
- Implemented conflict-free synchronized editing using Yjs
- Created a responsive React frontend with Tailwind CSS and atomic design principles
- Developed a custom WebSocket server for real-time updates
- Created a responsive React frontend with atomic design principles
- Designed a secure Node.js backend with Sequelize ORM
Technologies Used
- React + Tailwind CSS (Frontend)
- Node.js/Express (Backend)
- MySQL (Database)
- Yjs + WebSockets (Real-time Collaboration)
Key Challenges Overcome
- WebSocket server integration with custom self-hosted environment
- CRDT implementation for conflict-free merging of edits
- Optimizing Quill editor performance with large documents
- Implementing secure cookie-based authentication flow
Dependencies
Frontend:
- React-Quill for rich text editing
- Yjs/Y-WebSocket for collaboration
- Prosemirror integration for document model
Backend:
- Express.js REST API
- Sequelize ORM for MySQL
- JWT for authentication
- WebSocket server with WS library
Future Improvements
- Implement team management features
- Add document version history
- Develop mobile-native applications
- Integrate Markdown support
- Add real-time presence indicators