// Our Work
What We've Built
Real products, shipped and live. Engineering from first principles.
Tredye — Real-Time Trading Intelligence Platform
A high-performance trading intelligence platform that ingests live market data from the Kite (Zerodha) API, builds OHLCV candles across multiple timeframes, calculates RSI indicators, detects price/RSI divergences in real-time, aggregates financial news from multiple sources, and streams everything to a live web dashboard — all with sub-second latency.
// The Problem
Retail traders monitoring 200+ stocks across 4 timeframes face an impossible task manually. By the time a trader spots a divergence on a chart, the opportunity has passed. No single platform correlates live price action, RSI signals, and breaking financial news simultaneously. Existing screeners flood traders with low-quality alerts, drowning out the actionable ones.
// The Solution
A unified trading intelligence platform delivering real-time, pre-analyzed signals — divergences, RSI extremes, and breaking news — across 211+ NSE instruments and 4 timeframes simultaneously. Built on a publish-subscribe event architecture with Kafka as the backbone: every data transformation is a discrete, observable, and replayable event. No service directly calls another service's business logic.
++++// Design Philosophy
“Data flows through the system like a river — every service is a treatment plant, not a dam.”
// What We Built
- →Event-driven microservices architecture with Apache Kafka (KRaft mode, no Zookeeper) as the streaming backbone
- →Real-time tick ingestion for 211+ NSE instruments via Kite (Zerodha) WebSocket in full OHLCV + depth mode
- →Multi-timeframe OHLCV candle builder — 5M, 15M, 30M, 60M — aligned to 9:15 AM IST market open (not Unix epoch)
- →Incremental RSI engine: 60–100 day historical warmup per symbol per timeframe using Wilder's exponential smoothing, sub-millisecond live updates from Redis
- →ZigZag-style divergence detector (regular bullish + bearish) scanning last 60 candles with 7-day multi-day history loaded on warmup
- →Market news aggregation from Livemint, Moneycontrol, and Financial Express — 150+ keyword tags, sentiment scoring, deduplication, 5-min Redis cache
- →Single background Redis Pub/Sub listener broadcasting RSI + divergence updates to all connected WebSocket clients (O(1) Redis connections at any scale)
- →JWT auth with bcrypt passwords, SHA256-hashed email tokens, DNS MX validation on registration, session revocation broadcast via Kafka
- →Full Docker Compose orchestration with profile-based service grouping: core, api, data-pipeline, frontend
// Engineering Challenges
RSI Warmup at Scale
Problem: Calculating RSI for 214 symbols × 4 timeframes from scratch on every restart would take hours and hammer the Kite API, which enforces a 3 req/sec rate limit.
→ Incremental RSI with pre-computed state. A historical worker fetches once (rate-limited via asyncio semaphore), stores avg_gain and avg_loss in Redis, then every new candle is an O(1) Wilder's smoothing update — no historical refetch needed on restart.
Candle Time Alignment
Problem: Standard Unix epoch-based candle boundaries break at market open, producing non-standard candle times (e.g. 10:13 instead of 10:15) that don't match any real timeframe.
→ All candles are aligned relative to the 9:15 AM IST market open, not Unix epoch. A custom align_to_interval_start() function computes the correct boundary for any timeframe, ensuring every candle snaps to a valid market interval.
Multi-Day Divergence Detection
Problem: Short-term divergence windows scanning only the last 30 candles miss longer-term patterns that span multiple days — particularly visible on 30M and 60M charts.
→ The divergence detector loads 7 days of historical OHLCV data during warmup. Session filtering is applied per timeframe: 5M/15M scans only intraday hours (9:15–15:30 IST), while 30M/60M uses full multi-day history for accurate peak/trough analysis.
Real-Time Fan-Out to Browser
Problem: Naively creating one Redis Pub/Sub connection per connected WebSocket client would exhaust Redis connection limits at scale and add significant per-client overhead.
→ A single background Redis Pub/Sub listener starts at api-gateway startup and broadcasts to all connected clients via in-process Python asyncio queues. Redis connection count stays at O(1) regardless of how many browsers are connected simultaneously.
Token Expiry During Market Hours
Problem: Kite WebSocket tokens expire mid-session, causing silent data loss — ticks stop arriving with no visible error to the trader.
→ data-ingestion detects WebSocket close code 4001 (token expired), automatically fetches a fresh token from token-service (which reads from the external MySQL token store), then reconnects and resubscribes to all 211 instruments without any manual intervention.
Intrabar Updates Without Tick Flooding
Problem: Publishing every raw tick downstream to the RSI calculator and divergence detector would generate thousands of events per second per instrument, overwhelming services with noise and triggering meaningless RSI recalculations on micro-movements.
→ candle-builder maintains a forming candle in memory and only publishes to the platform.candles.forming topic when price moves more than 0.1% from the last published value, with a 30-second fallback to guarantee liveness. Downstream services process only meaningful price movements, not raw tick noise.
// Performance
211+
NSE instruments tracked
4
timeframes (5M · 15M · 30M · 60M)
< 1s
tick-to-dashboard latency
7 days
divergence detection window
856
RSI warmup streams (214 × 4)
3/sec
Kite API rate limit (enforced)
ZippKart Pro — Last-Mile Logistics Platform
ZippKart Pro is an end-to-end B2B logistics platform built for Bangalore's e-commerce, Q-commerce, and retail market. It gives businesses a full operations stack — order management, rider coordination, AI-powered route optimization, and real-time GPS tracking — under a single dashboard. Clients like WakeFit and TingTing use it to cut delivery times, reduce costs, and scale order volume without scaling headcount.
// The Problem
Bangalore's fast-growing e-commerce and Q-commerce businesses were stitching together delivery operations manually — WhatsApp for rider dispatch, spreadsheets for tracking, and no visibility into route efficiency or delivery performance. Off-the-shelf logistics tools were either too expensive, too generic, or didn't support the hyperlocal, multi-store model these businesses needed.
// The Solution
A purpose-built B2B logistics SaaS with three integrated layers: store management (order intake, rider assignment, analytics), fast delivery infrastructure (Q-commerce and same-day windows), and live track-and-trace (GPS, proof of delivery, ETA push notifications). AI-powered route optimization runs on every order, reducing average delivery time by 35% and operational cost by up to 40%. Built and operated by VoltVave Innovations as technology partner, with a 99.9% uptime SLA.
// What We Built
- →Store Flutter app (Android, iOS, Windows) — order queue, rider assignment, fleet management, analytics, and multi-store operations
- →Rider Flutter app (Android, iOS) — job assignment, turn-by-turn navigation via Google Maps, proof of delivery with photo/OTP, and earnings tracking
- →Web dashboard (React, HTML, CSS, JS) — browser-based operations portal for store managers and admins with real-time order visibility
- →Node.js REST API server — order lifecycle management, rider dispatch, GPS event ingestion, and third-party integration endpoints
- →AI-powered route optimization engine — reduces delivery time by 35% and operational cost by up to 40%
- →Real-time GPS tracking — live rider location, delivery status updates, and ETA recalculation pushed to clients and stores
- →Proof of delivery system — photo capture and OTP verification at handoff, stored on AWS S3
- →AWS infrastructure — EC2 (compute), S3 (media and delivery assets), SES (transactional email), Cloudflare (CDN, DDoS protection, DNS)
- →Multi-channel order flows — e-commerce, Q-commerce, hyperlocal, and direct-to-retail with a unified API layer
// Performance
19,834
registered users
108,290
orders delivered
99.9%
platform uptime SLA
35%
delivery time reduction (AI routing)
40%
operational cost reduction for clients
4×
order volume growth (TingTing)
Zoober — Buy, Book & Delivery
Zoober is a three-sided hyperlocal commerce platform built around three pillars: Buy (order fresh goods from nearby stores), Book (schedule local service providers), and Delivery (real-time last-mile logistics). Customers get groceries, food, fresh meat, dairy, and essential goods delivered — or book appointments with salons, repair experts, and electricians — from a single app. Merchants get a full digital storefront with zero hidden commissions. Launched November 2025, available on iOS (including Apple Vision Pro) and Android.
// The Problem
Local businesses in Kashmir and Bangalore lacked the digital infrastructure to reach nearby customers without surrendering margin to commission-heavy aggregators. No single platform unified hyperlocal product delivery with appointment-based service bookings. Merchants had no affordable tool to digitize their catalog, manage orders, and communicate with riders — and customers had no reliable way to discover what was available within their neighborhood.
// The Solution
A four-sided platform — Customer, Merchant, Rider, and Admin — each with a dedicated native app, orchestrated by a single Node.js backend with geospatial store discovery. The model is zero-commission: customers pay store prices, delivery logistics are business-managed, and transparent pricing is enforced at the API layer. Multi-language support (English, Hindi, Kannada, Urdu, Kashmiri) and multi-payment (UPI, cards, net banking, wallets) make it accessible across both regions from day one.
// What We Built
- →Customer Flutter app (Buy · Book · Delivery) — geospatial store discovery, product browsing across 30+ categories (groceries, food, meat, dairy, services), service appointment booking, real-time order tracking, and multi-payment checkout. Ships on iOS 13+ (including Apple Vision Pro), Android, iPad, and Mac M1+
- →Merchant Flutter app — digital catalog management, live order queue, delivery coordination, and earnings dashboard
- →Rider Flutter app — delivery job assignment, route navigation via Google Maps, OTP-verified handoff, and earnings tracking
- →Admin Flutter app — platform operations, store onboarding, user management, and analytics
- →Node.js / Express REST API with 23 data models covering products, orders, users, merchants, riders, appointments, segments, and payments
- →Geospatial store discovery engine supporting 30+ store categories with location-radius filtering
- →Service booking system — appointment scheduling and management for salons, repair technicians, and electricians
- →Multi-payment gateway integration — UPI, debit/credit cards, net banking, and digital wallets
- →Multi-language support — English, Hindi, Kannada, Urdu, and Kashmiri
- →Firebase push notifications for order status, rider updates, and appointment reminders across all four apps
- →AWS S3 for media (product images, store assets) + SES for transactional email
- →Next.js merchant web portal at app.zoober.in — full storefront management from browser
// Performance
4
native Flutter apps (Customer · Merchant · Rider · Admin)
30+
store categories supported
23
API data models
5
languages (EN · HI · KN · UR · KS)
4.8★
App Store rating
0%
commission on merchant sales
// Get Started
Have a project in mind?
We'd love to hear about it. Let's build something great together.
