Seriously some of the best UI I've ever seen. The animations just feel so satisfying.

Market data is extremely complicated and I've seen so many get fooled into thinking it's easy. It's understandable, if you can google any stock and get the price, you'd assume the data is free or public domain or something like that right? Maybe a small fee at most to power an API to get it. For those wondering, it tends to go like this:

You look into it and it's not quite so simple... the exchanges, like most financial services, are stuck in the past... but theres a cool website called IEX that is "revolutionizing" market data and can provide stock data for fairly cheap.

It looks like your idea might work, until you realize something is off with IEX's data. The prices aren't very accurate. Well it is accurate actually, only for stock trades that take place on IEX. Not NASDAQ. Not NYSE. Turns out the price of a stock that users expect is actually the last trade across ALL of the major stock exchanges.

Surely there is a way to get the "consolidated" price that reflects all exchanges? Not just IEX's measly 2% of volume? There's what is called the "consolidated tape" which is just that. Wait just kidding. It's "consolidated" but requires you enter into agreements with two separate organizations called CTA and UTP, also known as SIPs (security information processors). These are the only companies allowed to license the data, so they set the prices extremely high, starting at thousands of dollars per month.

Well, maybe you could deal with that if your app gets enough traction. There's more though... you can't actually get the data from CTA or UTP. You have to have a "vendor" do it for you, and pass on the data. The vendor is essentially a wrapper around the SIP that handles distributing the data to end-companies (not end-users, because realistically very little individuals can afford this, and vendors aren't too interested in dealing with individuals). Since the vendor focuses on the distribution, you'd assume their API would be top-notch. Instead you can tell it's built upon layers and layers of technical debt and edge cases. Oh well.

So, you then pay for the licenses from the SIPs, and the data from the vendor. You are now burning at least 10k a month. You get your first user, and they complain they can't find "SPX", the largest stock index in the world. Oops. It turns out indices, futures, options, and other securities, are all separate SIPs. You have to deal with even more backwards organizations to get licenses for each type of security. Don't forget the vendor wants another couple thousand for each SIP, more if you need realtime streaming or historical charting. Maybe just get indexes since they are popular? Indexes are once again spread across tens of organizations, depending on who owns the IP for the index. At this point you give up and just focus on U.S. stocks for now, until you get more funding.

Then one day, you are selected for a "random" audit by the SIP. They ask for personal information on every user you have, and claim that some users are actually financial professionals (such as a CFA or stock broker). They try to fine you 50x the price you expected because some users happen to have the same names as professional traders. (They charge a massive amount per professional trader vs per "ordinary" person) You have to deal with explaining what that even means and why it's important to your users to try to avoid this fine. Maybe your application was used on TV, or over the phone, or even on an elevator. There are different licenses for that. Ridiculous? Well, the SIP is authorized by the SEC to distribute the data, and enforce it. You have no upper hand in any negotiation.

To be continued in blog post someday maybe

FWIW, your new project already has some good traction. I've heard about it before (not sure where, but I 100% remember seeing it)