Show HN: I learned to code and built a crypto analytics platform (tradingdigits.io)
I am an enthusiast trader and a year ago I had this idea to create a free-to-use website that would feature all the most essential tools that traders would use on a daily basis.
So I learned to code and build it—I did everything including design, texts, code, and SEO—which took me 12 months to launch and a year and a half to make it look like it currently does.
I was into marketing and design before, but I didn't know barely anything about coding. The website is built using Next.js, Tailwind CSS, and Typescript with Framer Motion animations and lots of APIs.
I’m actively working on the project and in the following months I will release a huge update that will feature a renewed interface and access to real time on chain data and analytics.
Feel free to ask any questions and thanks a lot for reading this, it means a lot to me. Any feedback and your opinions would be highly appreciated.
84 comments
[ 5.0 ms ] story [ 159 ms ] threadI will definitely be adding more onchain and quite specific data in Q4 this year and Q1 2024.
However, I'm planning to keep the product free and there will be no need to sign up if you don't want to.
Some really specific onchain data and analytics will be free only up to a point (limited number of indicators or coins and so on) and people will be able to pay a monthly fee to get access to data without limitations.
A proprietary API yet is a good idea, but I'm not really a backend guy so I'll need to learn quite a few things before setting that goal.
Will fix it in this month's update, which will be released in around two weeks together with new Wallet Tracker tool and other improvements.
Good luck, man!
Might be beyond your scope, but any tax estimates regarding sale decisions is always helpful, and can save some grief.
That is a serious request, though I don’t recommend anyone else doing this.
But the legitimate context here is a crypto tool, so here is my use case:
Microstrategy’s market cap reflects a growing fortune in Bitcoin, as well as its business value. The result is it’s share price can both magnify & buffer Bitcoin changes on different time scales.
(If anyone does ever invest in anything highly volatile, I recommend (1) you don’t, (2) if you do, learn everything you can about the security, market, political, social, technological, and key player contexts, (3) constantly pay attention to changes in context & events, (4) only do this with a small fraction of your money, and if you lose it - stop!)
That being said, IRA’s, with their lack of tax implications, vastly simplify investment change decisions, by removing tax timing and loss issues. This is tremendously helpful for volatile type investments, because transaction timing constraints and house vigs (taxes) both significantly magnify risks.
I really wish there was a time-agnostic way to invest for taxed accounts. Like taxes that reflected the time between a purchase & sale so that taxes did not create perverse incentives for timing purchases or sales.
Dancing around non-neutral tax implications creates a terrible drag on performance & adds headaches to straightforward rational value analysis.
TLDR: Don’t read anything I wrote! Max out your tax protected retirement plans every year, and invest all funds cautiously and diversely!
And thanks for sharing your project!
Well, it turns out that when I originally wrote the code, time was calculated in milliseconds, not seconds. So, when I thought I calculated out 17 days, it was like half an hour-ish. It caused a small crash trying to dump everything almost all at once, on some of the alt-coin markets, and lost almost all the money.
I walked away with ~$700.
I was literally in tears, as I went from so excited and I'm going to "just retire" ... to just as broke as I was an hour prior. The emotional roller-coaster of euphoria, to 'oh shit, what did I do!?', to 'well ... fuck' was not fun.
Anyway, good luck. There might be a lesson in there, but mostly, be careful where the intersection of money and programming lie.
If $11,000,000 turned into $700 then the "market cap" was bullshit and the coin was bullshit and whatever "price" it had was bullshit. Maybe you could have done a little better than you did but there wasn't any there there, in the sense that there were actually eleven million real greenback dollars in the hands of people that had any interest at all in owning that coin.
This dynamic completely underpins the entire concept of crypto, with the possible exception of a couple big ones. It's just market manipulation and people trading with each other. Turns out nobody wanted to own digital apes either it was grift all the way down.
And another upside: the valuable lessons you learned are probably worth… well… millions of dollars!
Back to topic: How did the crash lead to losing the money technically? What happened here? How did too many requests of selling lead to „devaluation“?
You should definitely write a longer form story about this and include some code.
This is not specific to cryptography, it's a feature of all markets: if there's a scarce resource that a lot of people want, people will pay more for it. Parent flooded the market with whatever cryptocurrency instruments they held, suddenly making them a lot less scarce and so reducing their value. They could have avoided losing that by selling much more slowly (as they intended) or refusing to sell below a certain fixed price. In either case, they would probably not get quite as much as they had hoped for the whole lot due to a lesser version of the same effect.
For what it's worth, I'm not accusing you of lying, I'm making a tongue in cheek observation about altcoin exchanges.
It does seem like you are stating the MTM valuation (i.e. spot x notional) without mentioning liquidity, which is where the confusion from others is coming in. It's very possible to accumulate a large position in a low liquidity altcoin that you will have zero hopes of selling for that valuation, even over time.
> It does seem like you are stating the MTM valuation (i.e. spot x notional) without mentioning liquidity, which is where the confusion from others is coming in. It's very possible to accumulate a large position in a low liquidity altcoin that you will have zero hopes of selling for that valuation, even over time.
I'm not 100% what those words mean, but if I'm understanding you correctly, this 11 million was if I could sell it for in a perfect universe. It wasn't the actual price I could sell it for ... obviously, that was about $700.
That's right. So you may have accumulated 11m HN coins, but the market for them is dead except for 1 exchange where a pump n dumper is the only person offering to buy any. They are currently paying 1 USD for each of them, but they are only willing to buy up 700 HN coins at most. MTM is 11 million USD but liquidity is only 700 USD.
So your story is perfectly possible, but without stating liquidity it's unclear which number you meant when you said $11m unless people are familiar with the markets in which case it's obvious you meant MTM. Most people would expect min(MTM, liquidity over reasonable time frame), though.
It also monitored the buy/sell gap, and took some notes from that (large gaps mean new resistances while a small gap means waiting for a big order to break through and cause volatility).
https://news.ycombinator.com/item?id=32409168
> soooo basically there is no bias
> Looks like it. Though I think md5 is faster, which is maybe what I’m remembering, now that I think about it. This was years ago, funny how memory gets tainted.
The mean passed to it wasn't even a true mean either, it was a sliding window mean, of a specific area of resistance multiplied by reciprocal of an "influence" coefficient. Yeah... I have no idea how this shit worked. This is nearly 5 years old at this point and hasn't run in 3+ years.
It used to output a realtime graph that was visible from the web, it would show the output of all this math. From what I remember, this signal shows as a line on the buy side, sloping up/down. That slope indicated whether a specific resistance line was at risk of dissolving or a new one being created with the idea being to buy as much as possible before the resistance line actually dissolved.
I’ve worked on everything from the ultra liquid equity futures markets down to the shittiest of shitcoins imaginable and these numbers just don’t make sense at all. There’s a paradox: your valuation implies an active market and your execution implies a dead market.
When shitcoin markets die, they die at small fractions of a cent, and there are lingering sell orders in from people who got caught in the pump’n’dump and live under the false hope that their superconductorcoin will be worth something later on, which then removes the possibility of any remaining large-price buy orders. So for your valuation to be that high, it can’t have been a dead market.
But for your execution to be that low, it has to have been one.
I can’t truly believe that someone who is smart enough to build a system that accidentally stays functioning in the background for that long (I’ve never seen such a thing) is silly enough to calculate valuations so naively.
Also, I still know of at least two projects that I wrote, running since 2012 with very little maintenance ... knowing how to write resilient software and being clairvoyant aren't mutually exclusive.
its one of the easiest trades
But yes I really enjoy coding and may even take some freelance projects when the website requires less work.
Are all the data feeds you are using free?
- Animations look nice, but don't abuse them. Eg: on the Exchanges page, animating the tab switches between Spot & Futures makes it difficult to focus on the actual values.
- Your "share" feature could use a way to restore table filters/sorts based on the URL query. I have recently released a library that helps with that in Next.js: https://github.com/47ng/next-usequerystate
1. Yeah, I was thinking they may be too much sometimes. What would you recommend for switching animation? Simply fading?
2. That's a nice library, already starred it. How does it work with SEO? Won't Google complain that they are non-indexed pages?
2. If you have a good sitemap with canonical URLs, it should not be a problem. Google will indeed report non-indexed pages, but chances are you don't want those indexed in the first place (et: there's no point indexing sorting options for a table).
I spend most of my professional time as a front end dev and am a UX enthusiast, so I thought I'd some feedback regarding the UX.
1. I'd work on establishing some strong patterns on what is clickable, what's an input, and what is information. If you look at /positionSize, you'll see what I'm talking about. "Loss" and "Stop Loss" both use identical design language, but one is an input, and the other is just information. You have a similar problem when looking at "Risk" vs "?". One appear to be a label, while one appears to be a toggle.
2. I'd consider using a different font. Hyper-stylized fonts like the one you have are super fun and can be a great way to express a brand identity, but it can come at the cost or readability and can even undermine a user's willingness to trust the security and reliability of the platform. I'd challenge you to spend an hour tuning it to something a little more mainstream like Roboto, Open Sans, or Ubuntu just to know what it would look like (you could even leave the existing font on the headers if you like).
3. Keep the minimum font size above 10px or 11px. You have some right now that is 8.4px and that's going to be impossible (quite literally) for some people to read without the use of magnification.
Once again, good job and cheers!
1. You're right, it's kind of confusing. Will fix all input cursors in this month's update. 2. I may make some changes in the overall website look in the big upcoming update although I quite like the font I'm using. Is it difficult to read for you? 3. I don't use font sizes smaller than 12px for important data and less than 10px for some less-important-data (like BETA and NEW badges in the side menu, which are semibold to make them more visible). The only place where 8.4px is used is for the 24H price change percentage for BTC and ETH prices in the header.
Are you the only one building this?
this the most, and switching under "Exchanges" same with "BTC/ETH Returns"