Roadmap
Roadmap
Nuxt Realtime follows a phased development approach, prioritizing production-ready core features before expanding to broader ecosystem support and ready-to-use components.
Phase 1: Production-Ready Foundation (v1.0.0)
Goal: Establish a stable, production-ready core that developers can trust for critical applications.
Core API Stability
- Finalized composable APIs - Lock down
useRealtimeState,useRealtimeEvents, anduseRealtimeConnectionsignatures - Backwards compatibility commitment - No breaking changes without major version bump
- Comprehensive error handling - Graceful degradation, automatic reconnection, and clear error states
- TypeScript coverage - Full type safety with comprehensive type definitions
Composables
useRealtimeState
- Optimistic updates with automatic conflict resolution
- State persistence across reconnections
- Customizable sync strategies (immediate, debounced, manual)
- Support for complex data types (nested objects, arrays, dates)
useRealtimeEvents
- Publish/subscribe pattern with type safety
- Event acknowledgments and error handling
- Wildcard event matching
- Event middleware for validation and transformation
useRealtimeConnection
- Reactive connection state monitoring
- Lifecycle hooks (onConnect, onDisconnect, onReconnect)
- Manual connection control
- Network quality indicators
Infrastructure
- Socket.IO integration - Battle-tested WebSocket library with fallback support
- Memory driver - Zero-config development mode
- Horizontal scaling support - Architecture ready for multi-server deployments
- Comprehensive testing - Unit, integration, and end-to-end tests
- Performance benchmarks - Documented performance characteristics and limits
Documentation
- Complete API reference
- Production deployment guides
- Performance optimization recommendations
- Security best practices
Phase 2: Ecosystem Expansion (v2.0.0)
Goal: Provide flexibility through adapter patterns while maintaining the simple, unified API.
Adapter Architecture
Introduce a plugin system that allows developers to swap implementations without changing application code:
export default defineNuxtConfig({
modules: ['nuxt-realtime'],
realtime: {
// Drop-in replacements for Socket.IO
transport: 'crossws', // or 'ably', 'pusher'
// Drop-in replacements for memory storage
storage: 'redis', // or 'postgres', 'cloudflare-kv'
}
})
Transport Adapters
- CrossWS - Native WebSocket support for maximum performance
- Ably - Managed realtime infrastructure with global edge network
- Pusher - Enterprise-grade hosted WebSocket service
Storage Adapters
Leverage unstorage's existing driver ecosystem:
- Redis - High-performance in-memory storage for distributed systems
- PostgreSQL - Relational database persistence with strong consistency
- Cloudflare KV - Edge-native storage for global applications
- Additional unstorage drivers - Community-contributed adapters
Adapter Requirements
Each adapter must implement:
- Connection lifecycle management
- Error handling and reconnection logic
- State synchronization protocol
- Event pub/sub mechanisms
- Migration utilities from other adapters
Phase 3: Ready-to-Use Components (v3.0.0)
Goal: Accelerate development with production-ready, composable building blocks.
Headless Composables
Logic-only composables that handle complex realtime patterns:
useRealtimePresence
const { users, announce, leave } = useRealtimePresence('room-id', {
user: { id: '123', name: 'Daan', avatar: '...' }
})
useRealtimeCursor
const { cursors, updateCursor } = useRealtimeCursor('document-id')
useRealtimeChat
const { messages, sendMessage, typing } = useRealtimeChat('channel-id')
useRealtimeDocument
const { content, update, users, conflicts } = useRealtimeDocument('doc-id')
useRealtimeNotifications
const { notifications, send, markRead, unreadCount } = useRealtimeNotifications()
Nuxt UI Components
Styled components built with Nuxt UI, powered by headless composables:
- RealtimeChat - Full chat interface with typing indicators, read receipts
- RealtimePresence - Avatar stacks, presence indicators, user lists
- RealtimeCursor - Collaborative cursor overlays with labels
- RealtimeNotifications - Toast notifications, notification center
- RealtimeActivity - Live activity feeds, event streams
Blocks
Copy-paste ready implementations with complete styling:
- Chat Interface - Slack/Discord-style chat with channels, threads, reactions
- Live Collaboration - Google Docs-style collaborative editing
- Presence Avatars - Figma-style user presence indicators
- Notification Center - GitHub-style notification management
- Activity Dashboard - Real-time analytics and monitoring displays
- Live Comments - Linear/Notion-style inline commenting
Documentation
- Interactive component playground
- Copy-paste code examples
- Customization guides
Phase 4: Long-Term Support & Sustainability
Goal: Ensure the long-term health of the project through continued maintenance and exploring sustainability options.
Long-Term Support
- Security patches - Continued security updates for major versions
- Bug fixes - Ongoing maintenance and stability improvements
- Documentation maintenance - Keeping docs up-to-date with ecosystem changes
- Migration support - Clear upgrade paths between versions
Open Source Commitment
- All Phase 1-3 features remain open source (MIT License)
- Core API receives long-term support
- Security updates prioritized
- Community-driven development
Exploring Sustainability
We're committed to keeping Nuxt Realtime free and open source. To ensure long-term maintenance and development, we'll explore various sustainability options as the project matures, which may include:
- GitHub Sponsors and community funding
- Premium templates or blocks
- Hosted infrastructure options
- Enterprise support offerings
The specific approach will be shaped by community needs and feedback as the project grows
How You Can Help
Feedback
- Report bugs - GitHub issues with reproductions
- Request features - Discuss use cases and requirements
- Share experiences - Production deployment stories
- Test pre-releases - Early access to new features
Contributions
- Code contributions - Bug fixes, features, adapters
- Documentation - Guides, examples, translations
- Testing - Edge case discovery, performance testing
- Community support - Help others on Discord/GitHub
Sponsorship
Open source development requires sustainable funding. Consider sponsoring if Nuxt Realtime provides value to your projects.