Author

Topic: [BETA] Coin Watcher - open-source and privacy-oriented crypto portfolio web app (Read 566 times)

legendary
Activity: 3024
Merit: 2148


New update!

- slightly improved notifications
- support for price and value charts
- minor layout improvements

Unfortunately this version is not backwards compatible, so if the app doesn't load for you and you have visited this page in the past, you'll need to wipe your local storage for this site.
legendary
Activity: 3024
Merit: 2148


New update!

Now, instead of setting only two currencies - main and second ones, you can select as much currencies from the list of available currencies (supported by coingecko API). This should be helpful for users who use multiple currencies in their life, and since coingecko's API also provides data against cryptocurrencies, you can display price in them to compare how well your portfolio performs compared to them. Best example is viewing price of altcoins in both fiat and Bitcoin to see how they perform compared to Bitcoin.
legendary
Activity: 3024
Merit: 2148
Good web app, thanks for sharing the source code. Is there any possibility to order coins by volume on suggestion when adding a coin? For example to adding Bitcoin you need to type up to "bitco"

It looks like there is a small bug in 60 days data for Bitcoin. App shows +$7.327,35 increase or am I misunderstood?

Hi, thanks for your feedback! There's indeed a bug with percentage math, I'll be working on fixing it soon, apologies for inconvenience.

Theoretically ordering by volume is possible, but to keep the app lightweight and fast for mobile I'm downloading only the list of all suported coins without any market data or other data - to order suggestions by volume I'd need to either predownload all market data and keep it synced, which would be bad for performance and data usage, or dynamically load it when someone types into form, which would create a lag while the data for hundreds of coins is loaded, which will happen multiple times as more letters are typed.
full member
Activity: 686
Merit: 100
Good web app, thanks for sharing the source code. Is there any possibility to order coins by volume on suggestion when adding a coin? For example to adding Bitcoin you need to type up to "bitco"

It looks like there is a small bug in 60 days data for Bitcoin. App shows +$7.327,35 increase or am I misunderstood?
legendary
Activity: 3024
Merit: 2148
I have my app open in a tab all the time, and now that we see some very active price movements, it really shines thanks to the price alert feature that I've recently implemented, it notifies me about all the movements higher than 1%, so I don't have to check the price compulsively, fearing that I'll miss some big price swings, I'm always getting push notifications without any problems. It's also nice to see my total value, which increased by a lot as I'm hodling, though sadly I didn't have time recently to implement charting yet.
legendary
Activity: 2968
Merit: 3684
Join the world-leading crypto sportsbook NOW!
Well, like I've said, you already can select two currencies out of 54 to display prices on both main and individual pages, I can rework it a bit and allow users select as much currencies out of those 54 as they like. I think this is more elegant than creating additional UI page for currency comparisons, or doing it inside coin details pages.

Also, afaik congecko doesn't provide market data for specific exchanges, unlike other apps, so my app is not very suitable for pro trading. It's more of "I wanna know how much my coins are worth today", a good alternative to constantly going to coinmarketcap to check the price.

I know, and that's already great, thank you! I exactly want to use this app for "I want to know how much my coins are worth right now" but in differenct currencies. I don't need it to plug into Bisq or Localbitcoins, because anyway those are P2P and prices are set by traders (therefore, I need to know what price to set to stay competitive and attractive). I imagine others would have the same requirement, I've actually asked other traders and they're kind of like me, manually checking prices of all markets before deciding where to sell. So basically, we're all quite "manual" in that way.

Maybe a suggestion is to allow to add a duplicate coin. e.g. If I want to add a second BTC, it won't let me.
legendary
Activity: 3024
Merit: 2148
Although, I'm not sure if I fully understand you here, by comparison do you mean just displaying more currencies at the same time (currently you can choose 2 currencies) or something else?

Yes, for example, I trade on Localbitcoins or Bisq, generally have a small offer always open at high rates, but also every couple of weeks or so I have a periodical sell where I need to close out fairly quickly. I can trade in 3 currencies ATM, possibly more but the hassle of always checking exchange rates prevents that.

So for example, I could sell at USD/EUR/JPY, if you could have on 1 lightweight page : BTC in those three, ETH in those three, LTC in those three.

There are options to do that but they're all pretty clunky or too manual. I don't mind setting up 1 ticker, to choose BTC and then 3 different currencies to show in. Am

Well, like I've said, you already can select two currencies out of 54 to display prices on both main and individual pages, I can rework it a bit and allow users select as much currencies out of those 54 as they like. I think this is more elegant than creating additional UI page for currency comparisons, or doing it inside coin details pages.

Also, afaik congecko doesn't provide market data for specific exchanges, unlike other apps, so my app is not very suitable for pro trading. It's more of "I wanna know how much my coins are worth today", a good alternative to constantly going to coinmarketcap to check the price.
legendary
Activity: 2968
Merit: 3684
Join the world-leading crypto sportsbook NOW!
Although, I'm not sure if I fully understand you here, by comparison do you mean just displaying more currencies at the same time (currently you can choose 2 currencies) or something else?

Yes, for example, I trade on Localbitcoins or Bisq, generally have a small offer always open at high rates, but also every couple of weeks or so I have a periodical sell where I need to close out fairly quickly. I can trade in 3 currencies ATM, possibly more but the hassle of always checking exchange rates prevents that.

So for example, I could sell at USD/EUR/JPY, if you could have on 1 lightweight page : BTC in those three, ETH in those three, LTC in those three.

There are options to do that but they're all pretty clunky or too manual. I don't mind setting up 1 ticker, to choose BTC and then 3 different currencies to show in. Am
legendary
Activity: 3024
Merit: 2148

Lightweight and practically instant, I'm bookmarking just for comparison especially because I'm trading on 3 different currencies on LBC, so the very quick reference from coingecko's handy. For this specific purpose, the ability to add several currencies at once for instant comparison would be great... e.g. BTC at USD, EURO and say, JPY . Then a p2p trader like me could immediately see which market gives me best value.


Yeah, the app is meant to be simple and very fast, in opposite to apps like Blockfolio or Delta that are very clunky and often slow.
I could add currency comparison, but later, when I'll rework coin details interface again. Although, I'm not sure if I fully understand you here, by comparison do you mean just displaying more currencies at the same time (currently you can choose 2 currencies) or something else?

Charting's not especially useful for me, but would be great to track such things like LoyceV's rollercoaster I'm participating in.

Charting is the next thing I'll be working on.
legendary
Activity: 2968
Merit: 3684
Join the world-leading crypto sportsbook NOW!
Nice app hashe! Wish I had merit to give.

Lightweight and practically instant, I'm bookmarking just for comparison especially because I'm trading on 3 different currencies on LBC, so the very quick reference from coingecko's handy. For this specific purpose, the ability to add several currencies at once for instant comparison would be great... e.g. BTC at USD, EURO and say, JPY . Then a p2p trader like me could immediately see which market gives me best value.

Charting's not especially useful for me, but would be great to track such things like LoyceV's rollercoaster I'm participating in.
newbie
Activity: 16
Merit: 0
These apps enable anyone with an actual stake or potential interest in an exchange-listed digital asset, to keep tabs on their portfolios and often the marketplace at large — whether they check in hourly, daily or monthly.
legendary
Activity: 3024
Merit: 2148
I have added a new feature to my app: price alerts via push notifications. There are two types of alerts available: fixed price alerts, that will fire one time, when the price is reached, and percentage change alerts, they will fire continuously when a price change percentage higher than your target is detected in selected timeframe. For example, you can get notification every time BTC price goes up or down by 2% in an one hour period, and this alert will fire up to one time per hour.

legendary
Activity: 3024
Merit: 2148
Looks good, How I can save edited color scheme? It doesn't work for me.
It would be good if you add BTC or ETH on the homepage and let users add other coins manually. Bit confusing for first time visitors.

You don't need to explicitly save it, it is saved automatically when you change it's value.


So it seems to be accepting unlimited amount? I was thinking if this can possibly solve if we are going to get the max supply of every coin? I don't know if you can just hard coded it or just pull the data again from Coingecko?

I also got a 404 error earlier, I can't replicate my steps as to how I got the error but I was thinking maybe you are doing some updates on the code as you stated above.

And maybe you can include this in your pipeline:, a timer maybe on top of the left pane about the next Bitcoin and Litecoin block halving, that will be awesome!!!

Yes, users can currently enter whatever they want (non-existing coins, huge amounts, negative amounts, etc.), I don't see the reason why I shouldn't allow it. Maybe someone will find it useful, for example negative amounts can signify debt. As for halving, I don't want to clutter the interface with huge amounts of information and buttons. I've tried to use Blockfolio and delta and it feels like you need to spend a lot of minutes to just add one coin, and then when you want to find something, you again have to parse a huge number of UI elements on the screen. My philosophy is to be minimalistic and simple.
legendary
Activity: 2576
Merit: 1655
Ok thanks for the fixed.  Grin

I also had another test run on the apps (I used to be a software tester in my past life  Grin). This time I tried to test the Amount field:



So it seems to be accepting unlimited amount? I was thinking if this can possibly solve if we are going to get the max supply of every coin? I don't know if you can just hard coded it or just pull the data again from Coingecko?

I also got a 404 error earlier, I can't replicate my steps as to how I got the error but I was thinking maybe you are doing some updates on the code as you stated above.

And maybe you can include this in your pipeline:, a timer maybe on top of the left pane about the next Bitcoin and Litecoin block halving, that will be awesome!!!
sr. member
Activity: 952
Merit: 267
Looks good, How I can save edited color scheme? It doesn't work for me.
It would be good if you add BTC or ETH on the homepage and let users add other coins manually. Bit confusing for first time visitors.
legendary
Activity: 3024
Merit: 2148
Thank you for the share. I did some testing on your apps and here is what I found. I added the following coins:

Bitcoin - (BTC)
Etheruem - (ETH)
Infiniverse - (INF)



However, when I try to add another token with the same symbol or ticker as Infiniverse, - (Infinitus (INF), I got an error:


But if you look at coingecko,


There are indeed two ticker symbol INF, (as you are pulling data from coingecko). Perhaps this is just a minor defect, but I guess a fix is needed.

Edit: I also run virustotal and the URL: https://tiramisu77.github.io/CoinWatcher/ is clean.

Thanks for reporting it, this is a known issue. Coin Symbols are indeed non unique, because there are many exchanges. The problem here is that my app is internally using symbols to refer to various coin objects, so it will take some time swtiching ieverything into coin id's.

Update: the issue has been fixed and will be deployed soon. Sadly, everyone's portfolio's will no longer be valid, because the format was changed, so users will see their portfolio's as empty after page refresh/visit.

Very simple and yet quite functional. I still use googleDocs for the convenience it gives me, beyond personalization. But your app is quite simple and can be a great alternative.

Glad to hear that, more features coming in the future!
legendary
Activity: 2576
Merit: 1655
Thank you for the share. I did some testing on your apps and here is what I found. I added the following coins:

Bitcoin - (BTC)
Etheruem - (ETH)
Infiniverse - (INF)


However, when I try to add another token with the same symbol or ticker as Infiniverse, - (Infinitus (INF), I got an error:


But if you look at coingecko,


There are indeed two ticker symbol INF, (as you are pulling data from coingecko). Perhaps this is just a minor defect, but I guess a fix is needed.

Edit: I also run virustotal and the URL: https://tiramisu77.github.io/CoinWatcher/ is clean.
hero member
Activity: 672
Merit: 526
Very simple and yet quite functional. I still use googleDocs for the convenience it gives me, beyond personalization. But your app is quite simple and can be a great alternative.
legendary
Activity: 3024
Merit: 2148
A new version has been deployed to the official page! Changes:

- Discontinued support for API's other than CoinGecko

- No more batch mode

- Layout improvements

- You can now choose 2 out of 54 currencies (a mix of crypto and fiat) for displaying prices and values!

I've decided to from now on focus building on top of CoinGecko api instead of using multiple API's. CoinGecko shown to be much more stable and feature-rich than other API's, so this will allow me to develop the app faster and with more features.
member
Activity: 247
Merit: 40
thats really awesome to hear!
yes we want to make it as easy to use and to support apps in the ecosystem.
just feel free to drop us a line if you have any questions!
legendary
Activity: 3024
Merit: 2148

Woot excited to see you using our API! Hope you like it and happy to hear any feedbacks you may have  Cheesy

You API is simply the best on the market, it is one of the few API's that don't require a key, which is what I needed, since I don't have backend, and on top of that it has so many features. At the beginning I've tried to keep my app API-agnostic to always have fallbacks, but other API's lack your features and I'm considering discontinuing using them.
member
Activity: 247
Merit: 40
Github: https://github.com/Tiramisu77/CoinWatcher
Official page: https://tiramisu77.github.io/CoinWatcher/

Coin Watcher is a free, open source and privacy-oriented cryptocurrency portfolio tracking web app. It stores all user data strictly on client side utilizing window.localStorage, while market data is fetched from public API's. The app was built using Progressive Web Application technologies (PWA), so it is available even offline and can be installed on mobile and desktop from the browser (via add to Home Screen). Users who don't want to trust a website can built the app locally and run it as local html file. Currently the app is very simple, it doesn't have a chart or ROI, but this may be added in the future if there will be demand.

This app uses cryptocurrency market data provided by the following public API's:

CoinGecko

Alternative

Coinmarketcap

Woot excited to see you using our API! Hope you like it and happy to hear any feedbacks you may have  Cheesy
hero member
Activity: 2912
Merit: 556
Enterapp Pre-Sale Live - bit.ly/3UrMCWI
I tried the portfolio web app, and I add LTC and SC as an example. I see that it is interesting to see the portfolio without login in the exchanges because we can see how much profit and loss we already made. I wonder how to create an apk for the android because I am sure it will help people to check their portfolio. I hope that someone can do that and release it in the PlayStore.

I think the default color will be good in the black because it does not make dazzle or annoying. Oh, by the way, the price will auto-refresh for itself, right?

It shouldn't be hard to convert it into native app for both desktop and mobile, but for now you can add it to Home Screen if you visit it with a Chrome browser and it will loop and feel similarly to an app.

Yes, the prices are automatically updated, you can choose the interval in settings, it can be 2 min, 5 min, 15 min.

Yes, I think the same as you but perhaps, I will ask with some of my friends who familiar with the app for mobile, and I hope that they can try to make it for the mobile app and I think it could be better for the user itself.

I guess for the desktop installation, the user can follow your instruction to install in their folder so they can load the index.html in their browser.

Yes, I try with 2 min, and it works perfectly without any problem.
legendary
Activity: 3024
Merit: 2148
I tried the portfolio web app, and I add LTC and SC as an example. I see that it is interesting to see the portfolio without login in the exchanges because we can see how much profit and loss we already made. I wonder how to create an apk for the android because I am sure it will help people to check their portfolio. I hope that someone can do that and release it in the PlayStore.

I think the default color will be good in the black because it does not make dazzle or annoying. Oh, by the way, the price will auto-refresh for itself, right?

It shouldn't be hard to convert it into native app for both desktop and mobile, but for now you can add it to Home Screen if you visit it with a Chrome browser and it will loop and feel similarly to an app.

Yes, the prices are automatically updated, you can choose the interval in settings, it can be 2 min, 5 min, 15 min.
hero member
Activity: 2912
Merit: 556
Enterapp Pre-Sale Live - bit.ly/3UrMCWI
I tried the portfolio web app, and I add LTC and SC as an example. I see that it is interesting to see the portfolio without login in the exchanges because we can see how much profit and loss we already made. I wonder how to create an apk for the android because I am sure it will help people to check their portfolio. I hope that someone can do that and release it in the PlayStore.

I think the default color will be good in the black because it does not make dazzle or annoying. Oh, by the way, the price will auto-refresh for itself, right?
hero member
Activity: 3010
Merit: 794
Gladly im able to find that custom color but i do seek out on how to change that Cyan Background. It do really hurts my eyes  Cool Overall the software is good.

Not possible yet, will add soon! I've spent most of my time developing it in smallscreen mode, so I rarely see that Cyan bg, didn't realize it's annoying. What color do you think should be default?

Cant make it the same with other settings which you can able to customize?

Btw, i tried to put up some shitty coins of mine like KCY(KickCity). Among on the API being used trying out to search which exchange its being traded but i cant find.  Cry

Edit: Oh, i found it on coingecko.
legendary
Activity: 1610
Merit: 1131
Great application works accurately as it's fast I think this application will be appreciated in the near future
legendary
Activity: 3024
Merit: 2148
Gladly im able to find that custom color but i do seek out on how to change that Cyan Background. It do really hurts my eyes  Cool Overall the software is good.

Not possible yet, will add soon! I've spent most of my time developing it in smallscreen mode, so I rarely see that Cyan bg, didn't realize it's annoying. What color do you think should be default?
hero member
Activity: 3010
Merit: 794
Gladly im able to find that custom color but i do seek out on how to change that Cyan Background. It do really hurts my eyes  Cool Overall the software is good.
legendary
Activity: 3024
Merit: 2148
The official page is good but for me it loads a bit slow, like the loading signal shows for 15 seconds long before stopping? On the good side,,, I also tried adding 1 coin I have, and the value was quite accurate so the API is working very well.


When you launch the app for the first time, it loads the list of all available coins from all crypto api's, so it can then resolve coin names to make requests. The response is saved and is updated (in non-blocking way) every few days, so it only should be slow for the first time you visit the site. Try to open the app again, it should be fast now. Also, in the latest update I've given max time of 6 seconds for this initial loading (if it takes longer, it skips it) for alternative.me API, since it is accessed via proxy, which is the reason why it was slow.


Is there a way to keep history for a time period, like if I enter the date I bought it, I want to see PL for the coin I have in my value. Thank you.

At the moment no, but if I'll keep extending this project, making portfolio transactional and adding charts/ROI would be on my top priority.
hero member
Activity: 2338
Merit: 953
Temporary forum vacation
The official page is good but for me it loads a bit slow, like the loading signal shows for 15 seconds long before stopping? On the good side,,, I also tried adding 1 coin I have, and the value was quite accurate so the API is working very well.

Is there a way to keep history for a time period, like if I enter the date I bought it, I want to see PL for the coin I have in my value. Thank you.
legendary
Activity: 3024
Merit: 2148
The software is good, prices are superbly updated but there are some drawbacks:

 - Edit crypto: When I edit/update a currency, I can only edit it after deleting it or clicking on the "Home" button.
 - Direct button to remove: The cryptos should be removed by clicking on the icon on the same page.
 - select market data: CoinGecko or Coinmarketcap

Hi, and thank you for your feedback!

1) This is by design, edit action is based on element's "change" event, so it fires when input loses focus, meaning you can just click/tap anywhere outside of input form. I've also added a listener on "Enter" key press, but it hasn't been consistent on mobile, I'll investigate it further. Fixed now.

I specifically didn't want to add "confirm" button because they should be avoided whenever possible.

2) Removing coins usually doesn't happen too often, so additional buttons would only clutter the main page. Most of the apps that I've checked don't do this.

3) Currently the app tries to get data from CoinGecko, if it fails it tries to get from Alternativeme, then if it fails it tries Coinmarketcap (and if some of the requests takes too long, it switches to race mode when it gets the data from the fastest API). I was going to add an option for picking the order of API's, but it's not very straightforward to implement and is probably not very useful. I'll probably add it as a console command for advanced users.
Also, coinmarketcap will eventually get removed, because they are discontinuing their public API.
legendary
Activity: 2702
Merit: 4002
The software is good, prices are superbly updated but there are some drawbacks:

 - Edit crypto: When I edit/update a currency, I can only edit it after deleting it or clicking on the "Home" button.
 - Direct button to remove: The cryptos should be removed by clicking on the icon on the same page.
 - select market data: CoinGecko or Coinmarketcap
legendary
Activity: 3024
Merit: 2148
Source code on Github: https://github.com/Tiramisu77/CoinWatcher
Official page: https://tiramisu77.github.io/CoinWatcher/

Coin Watcher is a free, open source and privacy-oriented cryptocurrency portfolio tracking web app. It stores all user data strictly on client side utilizing window.localStorage, while market data is fetched from public API's. The app was built using Progressive Web Application technologies (PWA), so it is available even offline and can be installed on mobile and desktop from the browser (via add to Home Screen). Users who don't want to trust a website can built the app locally and run it as local html file. Currently the app is very simple, it doesn't have a chart or ROI, but this may be added in the future if there will be demand.

This app uses cryptocurrency market data provided by the following public API's:

CoinGecko
Jump to: