Launch HN: HyperLinq (YC S21) – Desktop trading terminal
Between my co-founders Karamvir and Kunal and myself, we have over 30 years of experience building trading systems. Karamvir and I worked at an inter-dealer broker in NYC and built many trading systems together. We also used to trade cryptocurrency. Back then there was a huge price disparity between exchanges, so we were able to do arbitrages.
We looked around and couldn't settle on a tool that could help us simplify the workflow, so we set out to build our own, not because we wanted to start a business but because we simply wanted to spend less time. In early 2018, we hacked out a small app that did no more than price aggregation and comparison. Price discovery was the main focus rather than managing portfolios or orders.
Soon we had many friends using the app. By mid-2018, we realized there was a business potential, but we found out that people did not want the new features we had been building. So we threw away our roadmap and started interviewing users. What they told us boiled down to two significant asks: (1) A blazingly fast app; (2) Efficient ways to execute orders. None of our users cared about multiple exchanges. They just wanted an app better than the exchange they were trading on. So we decided to build that.
As we always wanted to build a desktop app instead of a web app, we decided to go with Node.js, C++, React, Redux, and Electron. We are aware that Electron is not ideal in terms of CPU and memory usage and also the build sizes are huge. But to begin with, we wanted to use something that can work cross platform with a single source code. Eventually we have to move to better options for a true native experience - a goal for 3.0. For the most part, our team has done a decent job at managing CPU and memory so that our app is fast and reliable even when built with Electron. Majority of the processing happens directly on the users' machines—only a small portion of data/processing happens on our servers. The app connects directly to the exchanges. Unlike many other aggregators, we chose not to pick an open-source project for connectivity. Instead, we wrote our own connectors in C++ and deployed them as Node.js add-ons. On the server-side, we chose to remain 100% serverless. We wrote our lambdas in either Python or Node.js.
Building a desktop app gave us many advantages in terms of performance. Also, the peer-to-peer connectivity with the exchanges made sure that we do not hit issues related to API rate limits or network delays. It also helped us keep our costs low.
We plan to introduce stocks and forex trading in 2022. We want to keep building it further and add as many asset classes as possible. Our goal is to create a terminal that caters to all kinds of traders.
If you’re interested, please try out the app and send us your feedback. What do you think of our product? How can we make it better? Happy to answer any comments or questions!
64 comments
[ 2.4 ms ] story [ 146 ms ] threadEDIT: Electron a disappointment slightly but on a Linux system I already use discord and signal, so should probably be more open to it.
EDIT: I understand your disappointment with Electron. We do have different plans for v3.
Dont hate on electron, criticize the existing native solutions for making it way harder.
Just as an example: in WPF it takes a significant amount of knowledge and work to fully customize a buttons appearance while its a basic task in CSS
> takes a significant amount of knowledge and work to fully customize a buttons appearance
I think it might help you to understand a significant part of the hate comes from this frankly pathological focus on how your application looks precisely instead of on an in-depth focus on what it is supposed to do. You can design and build a perfectly acceptable actually native application that looks nice if you let go of the need to have three extra pixels of horizontal spacing around the text of your buttons.
Second, it's also cheaper, offers full scripting engine, and has a massive community.
You mention plans for trading US stocks. Those will most certainly require integrating with a broker API. Have you researched this, any contenders?
Electron can't be even charitably described as "native". Honesty in marketing is so depressingly rare.
If you won't even be honest about your technology stack, how can I trust you to be honest with the important stuff?
You aren't up front about the tech details of your product, despite posting on one of the most technical sites around... Not a good look.
Then you go on to claim you wanted to build a desktop app, and then you list React of all things. LMAO.
I'm sure your product is great but you need to refine your pitch. You come off as disingenuous at best while you're asking your clients to trust you with their cryptocurrency, in a market segment that's already rife with fraud and scams.
Anyways, best of luck with the launch.
Regarding whether electron apps are desktop apps or not, we can go on and on about it. I do understand the demerits of Electron technically but I also see merits in using it for startups like ours where we can quickly build and test with users.
Regarding trusting with users' cryptocurrencies, we don't hold any cryptocurrencies. They remain on the exchanges.
React running in a headless instance of chrome is a webapp, plain and simple.
Categorising what can charitably be called a repackaged website as native or high performance is quite simply lying. It is entirely not the case that it is so and therefore it's neither pedantic nor overly so.
Some hybrid apps are "repackaged website", but others are built to be high performance desktop apps. For instance, I wouldn't call vscode or slack "repackaged websites" even though they're built using Electron & web technologies.
Like you, I've built some C++ analytics infrastructure that I would have loved to have in an earlier corporate gig. But unlike you, I have no idea how to build a UI that people will want to use. I do everything at the terminal.
Can you recommend the best way to get going with UI development? Like, what tools should I use, what should I read? Is it even possible to get started with ~1week investment in learning?
Also seems a bit heavy (200MB for 44 secs), tho perhaps that's ok on mobile for your target demographic.
Best of luck with it all tho!
Right now, you can't trade equities, bonds, FX - and unless you can trade these core asset classes, your platform has to be classified "toy" - crypto-currencies just aren't that important, or not yet.
Personally, I tried out your platform because you said you have "trusted news"; but you don't cover agency news, only untrusted Web sites (probably via un-cached RSS-feeds, so quite slow) - no need to pull the graphical logos for each site, that's not what traders want I would argue.
Whatever you are building has to be better at something than the existing vendors (UI responsiveness, trading execution, price, feature richness, news sources, ...) to survive. Think hard about your USP!
It's hard to break into this (semi-oligopoly) space, as incumbents have spent decades innovating and/or acquiring and integrating data and functionality, but many would welcome a bit of fresh air.
I am very curious to know as you tried the app, how do you see it as slow.
I saw you are working on equities. So perhaps you just launched a little too early (before reaching utility for a typical trader).
I do agree with the other part, there is nothing making your application "special". There is no special feature.
1. The features have silly drawing images that mean nothing. You write a bunch of stuff and don't even showcase the actual product with screenshots. You do in the help/documentation area, carry that over to the features page.
2. The video doesn't work.
3. None of the important information I look for in a application is there, take https://www.quantower.com for example, a competitor. Their website is full of screenshots of the actual application and details I need. For example it is not obvious if that is a list of all supported brokers or some? How fast is the order execution, is it instant is there a delay? Where does the data come from, the broker, a separate data feed like DX Feed? Do you support multiple connections (can I connect to coinbase and binance, etc)?
But my biggest complaint is the application seems extremely simple, what benefit does using this over the other 50 different crypto desktop trading applications? Why would I pay you $39 over Quantower which has WAY more features and is free? Or Altrady which is $17? Or Coinigy which is free? Or TradingView? Or Medved Trader? Or or etc et etc?
I am all for new applications to enter the trading space, but I personally would never even look twice at your application, or download a demo, and I am your target market.
Yes you can connect multiple exchanges and multiple accounts on those exchanges.
If you have used Coinigy or Altrady, I request you to try our app. Happy to gather more feedback. It will help us improve.
Why?
Strikes me as a very odd choice for an application that is going to handle your money.
Just because a lot of people make silly decisions (Node.js??? It is not, and never will be, secure. Broken design) is no reason to do it in your software.
Good on you for getting into the reliably profitable part of the business though. Making money out of bigger fools.
"In times of war the bad make war, the good make peace, the cunning make bullets"
All of what you said is fud and unsubstantiated.
A lot.
Also your website needs screenshots, a video is the last thing I want when considering if I am going to try a GUI especially one that involves people talking about abstract concepts rather than the actual product and it's features.
If you want to appeal to traders you need to provide deeper technical details especially around order execution, real-time data feeds, etc.
In my mind there are 3 types of trading systems/brokerages.
1. Hobbyist - dominated by Robinhood and Webull these are about having "nice" UIs. i.e looks pretty. Low or no fees but also very little control, payment for order flow, doesn't support most asset classes.
2. Investor - Mainly Fidelity, etc. Powerful but orientated around long-term holds. Ability to control things like loaning out shares for shorting, support for every asset class imaginable (minus maybe crypto), higher fees, phone support required for some tasks like executing warrants, etc.
3. Trader - IBKR, TD Ameritrade, etc. Extremely powerful UIs but old school looks, keyboard driven. Extreme control over order execution. Emphasis on real-time data feeds, depth of book, etc. Extensive support for options/futures/warants/cfds.
You need to pick which if these 3 your system is intended to be. Right now it looks like mostly aimed at hobbyists.
Personally I use IBKR so that probably colors my outlook. I'm willing to accept ugly for speed and power, traders don't tend to value pretty - it doesn't make you a more profitable trader.
> we always wanted to build a desktop app instead of a web app
but the reality is complete opposite
People have been embedding webuis in crap forever and this is nothing new, except that chrome is a way better target to do so instead of old unupdated things like Qt webview and the like. See for example, steam which is just a web browser with some native ui around it.
2.