++++

// Our Work

What We've Built

Real products, shipped and live. Engineering from first principles.

01
Trading & FinTech SaaSSaaSBackendReal-TimeAI

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)

Python 3.11FastAPIApache KafkaPostgreSQLRedisSQLAlchemyNext.jsTypeScriptTailwind CSSDocker Compose
02
B2B Logistics SaaSSaaSBackendMobile AppAI

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

order volume growth (TingTing)

FlutterReactNode.jsAWS EC2AWS S3 / SESCloudflareGoogle Maps API
03
Hyperlocal Commerce & Delivery SaaSMobile AppSaaSBackendAPI

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

FlutterNode.jsExpressMongoDBAWS S3 / SESFirebaseGoogle MapsNext.js

// Get Started

Have a project in mind?

We'd love to hear about it. Let's build something great together.