Back to Projects

// Personal project

Project Kuber

I built a multi-agent trading intelligence system for the Indian stock market, delivered entirely through a Telegram bot instead of a website.

Tech Stack

PythonTelegram Bot APIMulti-Agent AI ArchitectureDeterministic Financial Calculation Engine

How it works

Seven specialized agents, six of which make zero LLM calls, independently analyze a stock, and a shared deterministic core combines their outputs into a consensus signal that the AI is never allowed to override.

  • Built five zero-LLM agents: Quant (technical, 10 indicators plus multi-timeframe analysis and a backtest lookup), Auditor (fundamental, a 10-point score across growth, margins, debt, and more), Oracle (sentiment, via a local FinBERT model, no cloud call), Regime (market direction, a 3-phase Sensex/sector/stock trend gate), and Risk (portfolio concentration, read-only).
  • Built an Explorer agent for macro news and FII/DII flows that makes a single web search call, and an autonomous Nightly Screener agent that writes its own SQL query specs, validates them against the real database schema, and self-heals up to 4 times if a query errors out or returns nothing before falling back to a safe hardcoded query.
  • Built a shared deterministic core: calculate_consensus() scores every agent's verdict from Strong Buy to Strong Sell, then a regime penalty gate tightens the call based on market and sector trend, it can only make a call more conservative, never upgrade it.
  • Built six scheduled jobs on APScheduler: a morning brief, hourly intraday monitoring, an end-of-day report, the nightly autonomous screener, a prediction-grading job, and a weekly ranking job, pushing to Telegram and email concurrently.

Results

7

Specialized Agents

~40 sec

Typical Response Time

Why I built it

AI trading tools often let the model do the actual math, which makes the numbers hard to trust. I wanted a system where the financial calculations are always deterministic and verifiable, and AI only handles the explanation, not the arithmetic.

How I approached it

I split analysis across specialized agents, most of which run zero LLM calls, and combined their outputs through a shared deterministic core instead of letting an AI vote on the outcome, delivering everything through Telegram instead of a separate website.

Full System Architecture

The actual, code-verified architecture: the Telegram command layer, the LangGraph supervisor, all six scheduled jobs, the shared deterministic core, all seven agents, three databases, and the Nightly Screener's own self-healing query loop. Explore each part below, drag to pan and scroll or pinch to zoom.

Zero LLM cost
Real LLM call
Data storage
External API
Rendering diagram…
Project Kuber screenshot 1
Project Kuber screenshot 2
Project Kuber screenshot 3
Project Kuber screenshot 4
Project Kuber screenshot 5
Project Kuber screenshot 6
Project Kuber screenshot 7