8 ms·
Show HN: I learned to code and built a crypto analytics platform
Hey everyone!
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.
- gumballindie 3y agoNo questions - just here to congratulate you! This looks amazing and it’s amazing you learned AND built all this in one year. I love reading about such stories and more people should dare share them!
- buckwhitzer 3y agoThank you so much!
- jen729w 3y agoAnd I'll jump in here rather than at the top and say, wow, this thing loads fast. I haven't clicked anything yet but the first load is _startlingly_ quick. What's the trick, and is that intentional?
- buckwhitzer 3y agoIt's powered by Next.js' SSR (Server Side Rendering) so it's all prerendered on the server side. Also, I like compressing the images. Thanks for commenting!
- deleted 3y ago[deleted]
- franky47 3y agoGreat job! A couple of pointers for UX improvement: - 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 https://github.com/47ng/next-usequerystate
- buckwhitzer 3y agoThanks so much! 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?
- franky47 3y ago1. For two views that have a similar layout/content, no animation at all. If you want to preserve the relationship between the views, that is. 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).
- CitrusFruits 3y agoGreat job! Shipping an actual product is a huge milestone! Although I'm not that into crypto trading myself, I can see that a lot of work went into this. 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!
- buckwhitzer 3y agoThank you! 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.
- tornato7 3y agoLooks nice. You should definitely add Grayscale trust discounts!
- buckwhitzer 3y agoThank you! Will definitely look into it.
- foxes 3y agoI learned to code and made the world slightly worse!
- deleted 3y ago[deleted]
- deleted 3y ago[deleted]
- jasfi 3y agoThe UI looks incredible! Well done, this is a great idea executed nicely. Are you the only one building this?
- buckwhitzer 3y agoThanks a lot! Yes, I did all by myself including idea, design, texts, coding, SEO, and now promotion/SMM.
- KomoD 3y agoid get rid of the animations
- buckwhitzer 3y agoWhich ones exactly you find distracting/invasive? There are fade animations when you enter/exit pages and also sliding animations in some tools.
- KomoD 3y ago> There are fade animations when you enter/exit pages this the most, and switching under "Exchanges" same with "BTC/ETH Returns"
- buckwhitzer 3y agoSo basically all of them. Noted, thanks. If anyone else who's reading this believes that the animations are invasive, please leave a comment here or upvote this comment.
- buckwhitzer 3y agoIf there are some other crypto analytics tools or calculators that you'd like to see on the website please let me know and I'll include it in the list of things to code.
- Galanwe 3y agoMake it point in time, add an API, more data, and sell a registration fee.
- buckwhitzer 3y agoWhat do you mean saying point in time? I 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.
- Galanwe 3y ago"point in time" means there should be a way to query past data _as it was_ in the past.
- robertlf 3y agoNice job!
- buckwhitzer 3y agoThank you!
- chompychop 3y agoThis is pretty cool! :) What resources did you find most helpful in your learning journey?
- buckwhitzer 3y agoThanks so much! Most definitely can recommend scrimba.com, it's basically the only resource I used. I took a paid Frontend Developer Career Path, but there are lots of free courses too.
- ladberg 3y agoFYI minor bug: if you sort the exchanges table, within a few seconds it'll refresh and go back to the original ranking
- buckwhitzer 3y agoThank you for noting that! I just checked and yes, the table gets rerendered upon data refetching every 60 seconds, resetting the table sorting. 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.
- mark_mart 3y agoCurious what would Wallet Tracker feature does?
- buckwhitzer 3y agoYou can paste any wallet address (ERC-20, BTC or TRC-20) and it will provide you analytics about this wallet's holdings. Which tokens and how much it holds, its total value, 24H and 7D change, mcaps, and all of that. Up to 10 wallets and without any signing up or all of this stuff.
- Gibson_v1 3y agoawesome. i'm trying to get better at coding myself and going to try a financial project soon. i wanted to do something with the current earnings reports coming out but that'll probably have to wait til next quarter at the rate i'm moving
- buckwhitzer 3y agoJust do it bit by bit and eventually it will get done faster thank you think. I'm working on this since May 2022 so it's been a massively long road. Good luck, man!
- root_axis 3y agofading transition animation is fine when clicking around, but it's an antipattern in the back button.
- buckwhitzer 3y agoThanks for the feedback, I'd never have noticed it myself. I kind of normalized it. Will fix it in this month's update.
- ge96 3y agoProps for picking up TypeScript
- buckwhitzer 3y agoMakes troubleshooting so much easier!
- Nevermark 3y agoMight be nice to be able to include crypto relevant stocks or funds. 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!
- buckwhitzer 3y agoThank you for your comment and for the advice! I was thinking to add both crypto and stocks heatmap in the future.
- withinboredom 3y agoI wrote an arbitrage bot and gave it $100 ... then promptly forgot about it. Several years later, when I stumbled across it, still faithfully running on my server, it had nearly 11 million worth of coins. I opened the project and had it start shuffling everything off to bitcoin, slowly, over days/weeks to bitcoin. I was going to just cash out. 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.
- tornato7 3y agoSounds like your bot hit some edge case and was min-maxing on long tail shitcoins with no liquidity on Uniswap. You maybe could have done a bit better than $700 via TWAP but likely not much more than $10k or so. It's just not that possible to turn $100 into $11M via arbitrage.
- withinboredom 3y agoIt was literally only working due to an improper implementation of standard deviations, IIRC. When I fixed the implementation, it didn't make any money, so I kept the bug. I've used this 'buggy' implementation on a couple of other projects as well, because it does a fantastic job -- a "secret sauce" of sorts.
- VierScar 3y agoCan you explain what it did? Or why an improper standard deviation would change the profitability of your bot?
- 3y ago
- mellosouls 3y agoGreat job! How do you find your new identity as a coder - enjoying it enough to pursue as a main line or sticking with the trading and other skills you used here?
- buckwhitzer 3y agoThank you! I'm pretty comfy spending most of my time coding the website and adding/planning new tools as well as its promotion, but I still trade occasionally and I also have some passive income selling photos on stocks (I don't upload anymore, it keeps on selling old photos). But yes I really enjoy coding and may even take some freelance projects when the website requires less work.
- TacticalCoder 3y agoReally cool. Are all the data feeds you are using free?
- buckwhitzer 3y agoThanks, man! Yes, all APIs are free. Also, it's hosted on Vercel so it's free too because their free tier is really generous. The only thing I pay for is the domain name.
- tornato7 3y agoThat's one thing you really have to love about crypto. Getting the equivalent data from a stock exchange would cost you $$$ and come with all sorts of license agreements and restrictions on republishing the data.
- buckwhitzer 3y agoExactly. I still couldn't find free APIs for such a simple thing like realt-time S&P500 and NASDAQ indexes.