A market bot for Nic’s friends

Jarvis lives in your Telegram now.

Market news, macro snapshots, ticker context, and proactive signals - on demand, in chat. Ask it anything in plain English and it answers from Jarvis’s own live data, not a stale model.

01

What you can ask

/start

Welcome message and the full command list.

/latest

The freshest market news off the wire.

/market

Macro snapshot: S&P 500, Nasdaq, VIX, 10Y, gold, BTC, and more.

/ticker <SYMBOL>

Recent news, notable moves, and a live price for one name.

/signals

Recent proactive signals Jarvis flagged on its own.

No slash? Just type a question. Jarvis pulls the macro snapshot, recent news, and signals as context before it answers.

02

A few minutes in the chat

Jarvis@jarvisbot
/market
Macro snapshot
S&P 500: 5,938  ▲ +0.42%
Nasdaq 100: 21,704  ▲ +0.61%
VIX: 13.18  ▼ -2.30%
Bitcoin: 104,820  ▲ +1.18%
/ticker NVDA
NVDA
Price: 142.30  ▲ +2.10%
• 14:02 · Upgraded to overweight on data-center demand
• 11:18 · Unusual call volume flagged near the open
is risk-on or risk-off today?
Leaning risk-on. Breadth is positive, the VIX is bleeding lower, and crypto is bid - though rates are the thing to watch into the 10Y print. Information only, not advice.

Illustrative numbers. Live values come straight from the Jarvis store and market feeds.

03

Where the answers come from

The bot reads the same jarvis_store.db that squawk-mcp writes to, so what you see in chat is the established Jarvis data, not a separate copy. Three tables do the work:

messages

Raw market news and squawk items - powers /latest and ticker news.

moves

Notable price moves Jarvis recorded - the context behind /ticker.

signals

Proactive flags Jarvis raised on its own - served by /signals.

Live quotes for the macro snapshot are fetched at request time; the AI chat blends all three tables plus the snapshot as grounding before it replies.

04

Deploy it in three steps

01

Set the secrets

Add TELEGRAM_BOT_TOKEN and OPENAI_API_KEY to the environment.

02

Point at the store

Set STORE_PATH to your jarvis_store.db (defaults to the repo root).

03

Ship the worker

Render reads render.yaml and runs python -m bot.main as a long-polling worker.

Everything the bot needs ships in this repo: the bot/ source, requirements.txt, render.yaml, and a Procfile.

Say hi to Jarvis.

Open the chat, send /start, and you’re in. Friends only - this is information, never financial advice.

Open @jarvisbot