Imagine building a chat application, real-time analytics dashboard, or online collaborative tool. These all require instant, reliable, and scalable communication between frontend and backend. Propeller solves this problem — an open-source platform for seamless, bi-directional real-time communication.
As Kunal Shah, CRED founder, noted on LinkedIn: “Every ‘processing’ screen in payments is behavioral debt. Propeller, built on gRPC protocol, eliminates this with 95% faster UPI and instant confirmations for CRED members. Open-sourcing it because trust should be infrastructure, not a feature.” Propeller empowers developers with scalable, reliable tools for modern applications.
Let’s explore what Propeller is, how it works, and why it’s a game-changer for real-time communication.
What Is Propeller?
Propeller is a gRPC-based platform for real-time, event-driven communication. It uses persistent connections for seamless event flow between server and clients, ensuring performance, scalability, and reliability.
Key features:
gRPC Streams for bi-directional, low-latency communication
Broker agnosticism (Redis and NATS support)
Strong observability with Prometheus metrics and profiling tools
How Propeller Works
High-level architecture of Propeller showcasing client-server interactions through gRPC and WebSocket mechanisms
Key Components
Channels: Persistent, bi-directional connections between clients and server
Topics: Logical event groupings for client subscriptions
Events: Exchanged payloads (messages, data updates, notifications)
Devices: Multiple client devices with independent server interactions
Detailed component-level design of Propeller highlighting gRPC streams, WebSocket fallback, and broker integrations.
Core Workflow
Channel Initialization: Establish gRPC-based channels with unique client/device identification
Event Exchange: Backend sends events; clients subscribe or interact directly
Broker Mediation: Use Redis/NATS for event persistence, routing, and delivery
Feedback Loop: Ensure reliable delivery with acknowledgments and real-time updates
Propeller’s Unique Features
1. Modular Design
Clean module separation: internal, pkg, cmd
Protocol Buffers (Protobuf) for consistent APIs
Docker deployment and propeller.toml configuration
NATS: Lightweight, high-throughput messaging with clustering and fault tolerance
3. Real-Time gRPC Streams
Low-latency communication
Scalability for millions of concurrent connections
WebSocket fallback for non-gRPC clients
4. Observability and Monitoring
Prometheus metrics for performance monitoring
Profiling tools for optimization
Real-World Applications
Fintech: Instant payment notifications
Collaborative Tools: Live editing and feedback
Gaming: Real-time player interactions
IoT: Device-system data synchronization
Clone the repository from https://github.com/CRED-CLUB/propeller.git and follow the instructions to get started with CRED’s Propeller, real-time communication platform.
Challenges Propeller Solves
Latency: Streaming model for instant updates
Scalability: Broker-based routing and concurrency for effortless scaling
Reliability: Broker persistence prevents event loss
Flexibility: Modular, extensible design for easy customization
Conclusion
Propeller revolutionizes real-time communication in modern applications. Its powerful architecture, scalability, and open-source flexibility enable fast, reliable, and cost-effective systems.