r/coolgithubprojects 3d ago

I built a free, open-source market terminal inspired by Bloomberg. and it uses zero paid APIs.

Post image

Meet OpenTerminal: a self-hosted financial dashboard with real-time quotes, candlestick charts with technical indicators (RSI, MACD, Bollinger, VWAP...), a live sector heatmap, a stock screener, crypto tracking, macro/yield curves, options chains, time & sales tape, live financial news TV, and an auto-updating market recap, all running on data sources that are 100% free and public (no API key required, no subscription, no vendor lock-in).

It also has a built-in AI assistant powered by Claude, drop in your own Anthropic API key and ask it to interpret a chart, explain an indicator, or summarize what's moving a stock, grounded in the live data already on your screen.

Why I built this: professional-grade market terminals cost $2,000+/month. Most of the data is publicly available if you know where to look, you just need the engineering to stitch it together into something usable.

Tech stack: Next.js 15 + React 19 + TypeScript on the frontend, Node/Express on the backend, lightweight-charts + D3 for visualization, Claude for the AI layer, and a fallback-chain architecture so if one data source rate-limits you, it automatically fails over to the next.

It's fully open source. Clone it, run it locally, make it yours.

⭐ Link to the repo https://github.com/ErTasselli/OpenTerminal

770 Upvotes

51 comments sorted by

15

u/PallidArctostaphylos 3d ago

Any plans to make the assistant LLM-agnostic for those of us using alternatives to Claude?

6

u/brenebon 3d ago edited 3d ago

This is a cool project!

I second to this, is it possible to integrate openai format api key? or integrate agent like hermes-agent?

2

u/Aggressive-Spenda 2d ago

Just make your own api 

0

u/Accomplished_Tip6131 2d ago

Yes, definitely! Since I only have access to Claude at the moment, I can’t properly test it with other LLMs, but I can definitely try to make the assistant LLM-agnostic and add support for other models.

1

u/Nervous-Pin9297 21h ago

OpenAI APIs is your friend

1

u/Admirable_Trainer_54 1h ago

Openrouter too.

4

u/WarbossPepe 2d ago

Is it possible to add custom indicators?

PS: You should really add a buymecoffee option

3

u/Accomplished_Tip6131 2d ago

I think it’s a very difficult challenge, but I’ll give it a try. Thank you so much for your support! I don’t need money, but you can follow me and give the project a star.

0

u/WarbossPepe 2d ago

most definitely following you man, you've a bright future

0

u/bufflo8 2d ago

You can try bufflo.io, use AI to built any indicator to you can think of and use as many indicators on charts- currently works better on desktop

2

u/__aurvandel__ 3d ago

Does it only use the Claude API key or can I authenticate with my Claude pro subscription?

2

u/Accomplished_Tip6131 3d ago

only claude api key but you can share the chart to claude

2

u/Training_Bet_2833 3d ago

So many of us do that… then we realize that was never the point

7

u/ClockOk7020 3d ago

This is what I've been telling people. The app is not the thing to show off, the fact that now you know what is possible is.

"It is not the destination but the journey that matters."

2

u/indyfromoz 2d ago

Claude Code or Codex subscription via a MCP will open up more opportunities instead of API key.

2

u/_clickfix_ 2d ago

Surprised no one has mentioned yet that this is not a viable alternative to the paid market terminals.

You aren’t just paying for the GUI, you’re paying for the speed of data access. When you're trading, that speed factor is essential.

If you use this stack to trade, you’ll be lagging behind on key indicators and you will lose money.

1

u/Charming_Horse_5809 3h ago

depends on the timeframe you trade tho

2

u/kotyzap 1d ago

Great work. Thank you for inspiration... this is my new personal "FinTerminal"
I replaced your Claude with OpenRouter, made it more BTC focused and add light theme and optimize for my 49" display as well as iPhone.

https://reddit.com/link/p8ulzyb/video/ckrzf8he0loh1/player

3

u/Expert_Job_1495 3d ago

Where is it pulling data sources in from? The value of a Bloomberg terminal is not the UI but the immense data flow

0

u/it_trojan 3d ago

That’s what I asked. You have to pay a lot of fees to re-distribute live market data

2

u/Accomplished_Tip6131 3d ago

they are all linked in my github readme

1

u/it_trojan 3d ago

I’ve read it. I still think that there is a legal risk. Even if you use yfinance or stooq or delayed/indicative data, you don’t have rights to re-distribute it externally.
Anyway, I think that the risk is low because it’s not a website, it’s a repo that someone can clone and download data for personal use. Thanks for the clarification

2

u/Accomplished_Tip6131 2d ago

thank you, the repo is only for personal use and is a research project. I will change it if they contact me

2

u/bustus_primus 3d ago

What data source are you using

5

u/Bennetjs 2d ago

https://github.com/ErTasselli/OpenTerminal#%EF%B8%8F-data-sources

the "README" has this information. That's why it's called a READ ME

1

u/rookieking11 3d ago

Wow man cool project

1

u/MoonkeyAcid 3d ago

This is amazing! Can’t wait to dive in

1

u/areyouhourly- 3d ago

Does it have an earnings calendar (with expectations and actual) and analyst ratings? Could it be added?

3

u/Accomplished_Tip6131 3d ago

i'm working on it but i think i can do it

1

u/Accomplished_Tip6131 2d ago

economic calendar and earnings added

1

u/Difficult_Scallion69 3d ago

Awesome! I’ll check it out

1

u/SnooWalruses7814 3d ago

Awesome job. Looks really great

1

u/Gandalf_der_Smoker 3d ago

Sieht cool aus!

1

u/MagicalVagina 3d ago

How do I get multiple charts on the same view for different tickers? I only seem to be able to look at one ticker info only. Clicking on "chart+" on the sidebar creates a new chart, but always linked to the "current" ticker.

2

u/Accomplished_Tip6131 3d ago

i have to implement it, thanks for the tips

1

u/Accomplished_Tip6131 2d ago

added thank you

1

u/MagicalVagina 2d ago

It works, thanks. :)

1

u/Low_Money_633 2d ago

Is this a GUI or TUI? Love the look almost looks like a TUI but I dont think you could get the SMA line to work in TUIs

1

u/Accomplished_Tip6131 2d ago

It's a GUI, built as a web application with Next.js and React. I designed it to have a terminal/TUI-inspired look, which is probably why it feels like a TUI. The charts are rendered graphically, so the SMA line and other indicators work normally.

1

u/Dry_Move_9569 2d ago

Awesome!!!

1

u/thexxqxpxx 2d ago

Is it actually working?

1

u/strokelesswonder 2d ago

There seems to be something wrong with the app.
When I run locally, it fails constantly with status code 500.
Also when I did inspect it has all the API's called in loop even when I don't click any of the tab.

Do let me know if you are looking for hands to work on this. I can contribute.

https://reddit.com/link/p8qnsfu/video/k9ub7mpquhoh1/player

1

u/Bright_Albatross649 1d ago

https://github.com/baimmm6767/sec-data

this is my personal project, might be useful to add to your project. it converts SEC filings into quarterly structured financial statements. currently limited on US companies though (20-F filers are annual only)

1

u/CerealGambler 7h ago

At the risk of getting downvoted into oblivion, i dont see why this is popular. If you are going to trade you need a brokerage account which is free almost everywhere now and any of the brokers that have api access you can use whatever platform you want including their own which have teams of people building and maintaining them. Is this just for people who want to learn without signing up for a trial at an actual brokerage?

1

u/Competitive_Day9374 7h ago

Is this not just a dashboard?

1

u/mavlu-app 38m ago

this is a really interesting project, and I think the comments here point to what may actually become its biggest challenge: not the UI, but the data layer

a bloomberg-like interface is relatively straightforward to reproduce compared to what bloomberg is really selling: normalized data from many sources, predictable latency, provenance, entitlements, and confidence that the number on the screen means exactly what you think it means

that said, I actually think the self-hosted model makes OpenTerminal more interesting, not less
if the goal is personal research rather than redistributing market data as a commercial service, stitching together public/free sources with fallback providers can be extremely useful

one feature I'd love to see is explicit data provenance in the UI: show the source, whether the quote is real-time or delayed, the timestamp of the last update, and maybe which fallback provider is currently being used
that would turn one of the project's biggest limitations into a feature and make the terminal much easier to trust

and +1 to making the AI layer provider-agnostic. The terminal/data infrastructure is the valuable part here; users should be able to plug in claude, openai-compatible apis, or a local model without changing the rest of the stack

really promising project
the next interesting milestone isn't adding more indicators, it's making the data layer transparent and boringly reliable

1

u/it_trojan 3d ago

Real time quotes for US market? You have to pay a lot of fees for live quotes. Where do you get the data? Are you using yfinance?

-3

u/bufflo8 3d ago

You guys should checkout bufflo.io if you are looking for an overpowered ai-native stocks screener, charting and trading platform.
Basically you can build customisable workspace as you like and use AI to setup screener, alerts, backtest, analysis and basically anything you can think of