Roadmap

Roadmap

Future development plans for Nuxt Realtime

Roadmap

Nuxt Realtime follows a phased development approach, prioritizing production-ready core features before expanding to broader ecosystem support and ready-to-use components.

This roadmap represents current plans and may be adjusted based on community feedback, technical challenges, and evolving requirements.

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, and useRealtimeConnection signatures
  • 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.

Sponsor on GitHub | Discuss Roadmap