4 ms·
Story time (and a post-mortem of sorts): a long time ago I built a startup using Visual Programming for algorithmic trading. https://hackernoon.com/on-kloudtra
by narrationbox 6y ago
Story time (and a post-mortem of sorts): a long time ago I built a startup using Visual Programming for algorithmic trading.
https://hackernoon.com/on-kloudtrader-and-visual-programming-5161e1e2b89f https://hackernoon.com/on-kloudtrader-and-visual-programming...
It wasn't the most novel idea or anything but most existing systems were either clunky, expensive, or had UIs from the previous century. Ours was a hip SaaS inspired by Robin Hood, Bubble.is, and all the new Bloomberg terminal clones. We built an initial prototype using Google Blockly, did a ton of UI/UX research (studied every visual programming system from Sutherland's Sketchpad, to the Soviet DRAKON, to modern day MindStorms, Scratch, and the various PLC control systems and LabView derivatives) and slowly built out the rest of the algorithmic trading stack. It was tremendously difficult mainly because of lack of labor, our small startup only had 3 people. We were essentially translating by hand entire trading frameworks, backtesting tooling, and blotters into virtual Lego bricks. It was my first startup and I was inexperienced. We were fresh faced and between trying to raise funding, sales and marketing, product development, progress was slow. Patio11's (Kalzumeus) blog posts on Stockfighter were highly inspirational and we saw what they managed with only a small team and we tried to replicate. But between Patrick and the Ptaceks, they had several decades more engineering and business experience than us, something we completely discounted. The tooling around Google's visual programming system was like early Android development, works in theory but tremendously difficult to use. Microsoft's Makecode (which is also built on Blockly) had a magnitude more engineering manpower than us. Visual programming was not easy to build quickly — a production quality system wasn't something that you can clone in a weekend. We looked towards automation, around the same time, a code synthesis YC company called Optic appeared and we strongly considered leveraging them to allow us to build out faster.
https://news.ycombinator.com/item?id=17560059 https://news.ycombinator.com/item?id=17560059
However, a couple months later, YC funded a similar company called Mudrex who had a prettier UI and a founding team with a stronger fintech track record.
https://news.ycombinator.com/item?id=19347443 https://news.ycombinator.com/item?id=19347443
At that point we crossed the rubicon and pivoted to DevOps/PaaS, launching a Heroku-style product.
https://KloudTrader.com/Narwhal https://KloudTrader.com/Narwhal
Did the whole tour of Docker Swarm, Kubernetes, KVM etc. Built out our own cloud almost from scratch. Signed a contract with a broker to offer comission-free trading and everything. But it was a difficult product to sell in a crowded enterprise market with only a few (but big) customers and we were playing catch-up with companies like Alpaca, our product was being eaten from the corners by new features launched by companies like Quantopian and Quantconnect. Quantopian was where I cut my teeth on computational finance and automated trading, it was what inspired me to build a fintech startup in the first place, so in many aspects, our product being displaced was a validation of product-market fit if nothing else. In retrospect, at that time we should have switched to the ML Ops market instead, which is booming right now. Algorithmic trading, or at least the consumer focused variety that we were trying to sell, had a stack that is very similar to your usual ML stacks. In the two years I learnt about enterprise sales, the various shenanigans involved in FINRA, SEC compliance, and was tremendously valuable in terms of growth.
These days however we are mainly doing productivity software for voiceovers and transcriptions with a bit of ML thrown in (voice cloning research). Fast growth, easy traction, great market. Not as lucrative as fintech, or at least a lower ceiling, but at our current rate of growth I am certainly not complaining. It is hosted mainly on Google Cloud, AWS, and other providers (after having to build our own Heroku we have had enough of DevOps)
https://narrationbox.com https://narrationbox.com
https://twitter.com/narrationbox https://twitter.com/narrationbox
If you are looking for advice or suggestions on building your own visual programming systems, I am available for consulting services.
(On second thought I should probably turn this comment into a Medium post)
- AlexDanger 6y agoCertainly a medium post would be good - I'm impressed by your pivots trying to find a fit with the visual programming paradigm. What is your opinion on visual programming and diagramming libraries? Would you recommend particular libraries/services for visual programming if looking to build this type of UX/UI into a new product? I'm interested in building a service that utilises a basic visual programming interface but I have no interest in building out a complex visual programming / diagramming UI toolset myself. Do you consider the visual programming aspect a commodity or a selling feature? Or is that dependent on the market you are selling into?
- deleted 6y ago[deleted]
- narrationbox 6y agoThere is a range of what goes for "visual programming" these days. If you can tell me what market you are trying to target I can give you a better idea of things (or email if you don't want post it here). A lot of visual programming-esque products are not obvious visual programming systems but use the same underlying designs and patterns. E.g. take Lobe AI (acquired by Microsoft and their features are now in Azure Machine Learning), their neural network pipelines are quite far from your LabView style imperative control structures but the underlying data flow across nodes linked by splines UI pattern is something that has been replicated across generations of game engines and other design software. Zapier, GitHub Actions, Retool. Many a unicorn has visual programming as a central part of their product. However, they are not advertised as such, you do not see the same marketing language as Scratch or Simulink. If you look at Trigger Finance or IFTTT, the word programming never comes up. From a business/marketing point of view, it is probably for best not to use the word "programming" to describe your product or UI (unless it is educational software of sorts). Excel is fairly successful but most users do not really consider it to be "programming" even though it essentially is. Building a visual programming language in 2020 is fairly trivial and straightforward if your environment is the browser. There is a ton of libraries and open source reference projects out there: Xod, n8n, Makecode, Rete.js, Blockly. On the engineering side, as long as you do not try to map a mainstream programming language with its associated frameworks directly into visual programming, one-to-one on the syntax level, but instead build wrappers and simplified interfaces around it then it should work out pretty well.