So what’s wrong with existing interfaces?
Every exchange has a trading UI. Binance, Bybit, Hyperliquid, etc. They’re fine if you only trade on that venue. Even the “pro” terminals mostly still assume you’re focused on one platform at a time.
If you’re not, it gets annoying fast.
Once you’re running positions across multiple exchanges (or even just watching a few markets at once), you end up with a bunch of tabs open, different layouts, and the same info repeated in slightly different ways. Charts here, positions there, order entry somewhere else. Nothing is connected, so you’re constantly context-switching.
A lot of these interfaces are designed around a simple workflow: trade here, manage here, check PnL here. That works for most retail users. It’s not great once your workflow spans venues.
The abstraction problem
The bigger issue is that everything is tied to the venue.
Binance shows you Binance’s orderbook. Bybit shows you Bybit’s. Order entry is different everywhere. Even basic things like how positions are displayed or how orders are edited vary from place to place.
When your tools are venue-specific, your workflow becomes venue-specific too. You spend time translating between interfaces instead of just looking at “this market” and deciding what to do.
A simple abstraction layer would help: a way to view markets consistently, and route actions to whatever venue you want, without the UI changing every time.
Why internal tooling matters
At some point, it’s hard to avoid building your own tools if you care about this stuff.
Public platforms have to serve a wide range of users, so they can’t optimize around any one workflow. Layouts are opinionated, features are generic, and the data layer is usually built around a single exchange.
Internal tooling lets you make it fit what you actually do. You can unify data across sources, keep things consistent, and build the exact panels and workflows you want.
It’s less about “fancy dashboards” and more about reducing friction: fewer tabs, fewer mismatched views, and less manual work to keep track of what’s going on.
What we built
We built an internal terminal that’s panel-based and exchange-agnostic.
Charts, orderbooks, order entry, positions, alerts, feeds — each panel can point at any connected venue. You can drag things around and set up layouts that match how you monitor and trade.
On the backend, we normalize the data into a common format so the UI stays consistent. You pick the venue when you need to (like routing an order), but you’re not forced into a completely different interface just because the exchange changed.
We also added cross-venue alerts, aggregated positions, and support for external data feeds. Everything streams through one connection instead of juggling a bunch of separate sessions.
It’s not meant to be a product. It’s just what we ended up building because we didn’t like the “five tabs forever” setup.
Where this is headed
More people trade across venues now. Liquidity is fragmented and strategies aren’t always “pick one exchange and live there.”
The interfaces haven’t really adapted to that. So people either deal with the mess, pay for terminals that still don’t fully solve it, or build internal tooling.
We built what we needed. If we keep trading this way, we’ll keep improving it.
