Hacker News new | past | comments | ask | show | jobs | submit login
Launch HN: HyperLinq (YC S21) – Desktop trading terminal
73 points by amargautam on Aug 8, 2021 | hide | past | favorite | 60 comments
Hi HN, my name is Amar, and I am the founder and CEO at HyperLinq (https://hyperlinq.io/). We are building HyperTrader, a simple yet powerful native desktop trading terminal. Our app currently supports cryptocurrency trading, but we will soon expand into other asset classes like US stocks. We make it easy for traders to track multiple portfolios, discover the best prices, execute orders faster and analyze their trades.

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!




A few pieces of feedback, just to add some context to my statements, I day trade stocks. I also trade crypto using quantower.

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.


Totally agree on the first point. The drawing images are really silly. And the website content is empty. OP should learn how to write website content from competitors.


Thank you for your feedback. We will look into the website.

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.


Trying out new apps takes time, so it's really your job to show why I would want to take that time to properly evaluate your app. Asking potential users to "try our app" without answering the "why" isn't a good way to get people to, well, try your app.


All the gold content is in HyperTrader. Should have just linked to it


Electron isn't native.

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.


If responsiveness has been a goal, you have made choices that position you at the "slow" end of the scale (Web-based GUI on the desktop as client tech, Python on the server, ...).

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 don't personally agree with the "slow" as most trading applications are giant java behemoths with custom UI kits anyways. As long as you can have 8-12 charts all updating 30 times a second or what ever update frequency you have and not crash a standard laptop the performance is fine.

I do agree with the other part, there is nothing making your application "special". There is no special feature.


Once the JVM is running, though, it's quite fast. The same cannot be said for python.


We are already building US equities support and scheduled to be released in Q1 2022. Yes the current news feed is not suitable for professional traders. As soon we get to offer US equities, we have plans to provide agency news.

I am very curious to know as you tried the app, how do you see it as slow.


So far, the slowest bit is the "loading..." of news. Each time you click on a tab on the left, you seem to re-load RSS feeds, which takes several seconds.

I saw you are working on equities. So perhaps you just launched a little too early (before reaching utility for a typical trader).


BTW, the app gives me "Uncaught JavaScript exception: TypeError: cannot read property webContents of null" on the Mac.


>a simple yet powerful native desktop trading terminal.

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?


I think you're being overly pedantic by focusing on the distinction between hybrid and native apps. As far as most users are concerned, if it's installed on their computer, /feels/ like a real app and is solving problems they care about, they couldn't care less whether it's built using web technologies or not.


> overly pedantic

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.


> Categorising what can charitably be called a repackaged website as native or high performance is quite simply lying

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.


Whether users care or not is a straw man.

React running in a headless instance of chrome is a webapp, plain and simple.


Thank you. There you go!!


Electron is technically not native, that is correct. We have never hidden the fact that we use Electron.


I mean your opening paragraph straight-up lies when you describe your product as a native application.

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.


We are very upfront about our tech stack. It is clearly stated in my post.

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.


Why pitch your app as "native" to a tech-savvy crowd then when it's actually not?


Amazing user interface. Seriously inspiring stuff.

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?


Thank you for the kind words. Do you want to build a desktop or a web app? If desktop, despite all the electron hate here in the threads, I still say it’s a quickest way to build something to test out. Good thing, you can use your C++ code in Node. If you do go with Electron, you will need to learn some JavaScript. I think 1 or 2 weeks of learning Javascript should be enough to build a PoC.


If you say "native" and then use Electron, I automatically don't trust you.


they also say

> we always wanted to build a desktop app instead of a web app

but the reality is complete opposite


A web app cant take advantage of native desktop UI patterns (file dialogues, tray, system menus) and APIs (native file handling, win32 access, sockets, etc etc) like electron. Electron apps are desktop apps.

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.


> we decided to go with Node.js, C++, React, Redux, and Electron.

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"


What's broken in node.js's design? Most new trading apps out there are also build on electron, or worse yet, some really gross java desktop ui thats even slower and eats up way more ram.

All of what you said is fud and unsubstantiated.


Whether or not it is broken has absolutely nothing to do with whether or not most apps currently use it. It's a little hypocritical to claim the person you respond to is saying unsubstantiated things when you are doing the exact same thing.


> What's broken in node.js's design?

A lot.


Haven't tried it but welcome innovation in trading terminals. Something that allows python algos and indicators to be contributed, while being faster and more reliable than cTrader, MT4/5 and tradingview. That's the dream. At least from an FX perspective.

EDIT: Electron a disappointment slightly but on a Linux system I already use discord and signal, so should probably be more open to it.


Thank you for your interest. It is the goal all along - to be faster, more efficient and reliable. We do have plans to build algo trading. And if users could write their own python scripts, that will be amazing - noted down as a feature request.

EDIT: I understand your disappointment with Electron. We do have different plans for v3.


While I'm not a crypto trader, but this is the primary reason why most people who I know do algotrading uses IBKR (for equity/futures/options). IB API is still king and execution is the best in retail - no matter how ugly TWS is.


Congrats on the launch! Which trading API provider(s) did you choose and why?


Thank you. We connect directly with cryptocurrency exchanges. We wrote our own connectors for their APIs. We do not use third-party data or API services.


Nice!

You mention plans for trading US stocks. Those will most certainly require integrating with a broker API. Have you researched this, any contenders?


Yes we are working with some to figure out the right fit. Haven't decided on any yet. Do you have any recommendations?


Alpaca seems like it has the lowest barrier to entry


seems like every “desktop app” launched on HN is electron


Perhaps because it is easy to start with. We do realize the shortcomings. In our v3, we are rethinking this.


It‘s just not a good business move to invest a huge amount lf time to create complex UI in the native frameworks if electron is way easier.

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


> Dont hate on electron

> 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.


That is exactly the reason we have started with Electron. You got it right. Thank you.


Very interesting app but you really need to lose the placeholder crap content and get some nice big screenshots on your features page. Otherwise no deal. The couple screens that are on the home page look great. If this app is as good as the little screens look show it off!!


The client app connecting to exchange directly is not “peer-to-peer”. It’s more a point-to-point connectivity. Or depending on your interpretation it might be even point-to-site considering a client to be a point and the exchange is a site.


This is an unacceptably bad launch post.


Just want to say a couple of things: 1. THANK YOU for making a Linux version available!!!

2.


Does it work for any trading system across countries?


It works with multiple cryptocurrency exchanges that you can connect using APIs. If the supported exchanges are available in your country, yes you can use it.


How about India?


Any plans to support DEXs (Uniswap or Curve)?


We do have plans for those but before that we are integrating a few of the regulated European exchanges.


Nice. If you ever enable advanced orders on chain (like TWAP on Uniswap), hit me up.


(OT) I'm unable to play your demo vid on my phone on Firefox and Chrome, including after downloading it. Android 10. Perhaps an issue at my end but don't normally have problems.

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!


How does this compare to TradingView?


TradingView is a charting tool. We have TradingView in our app as well. But trading involves lot more than charting. Second difference is that it is a desktop app and the connectivity is peer to peer with the exchanges.


TradingView has ordering and integrates with most crypto exchanges. More crypto exchanges then your platform integrates with.

Second, it's also cheaper, offers full scripting engine, and has a massive community.


TradingView has desktop app too. https://www.tradingview.com/desktop/


YC put money into this?




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: