Show HN: Wealthfolio: Private, open-source investment tracker

(wealthfolio.app)

924 points | by a-fadil 289 days ago

80 comments

  • diggan 289 days ago
    First question from reading through the landing page is about this part:

    > Import your statements from your broker or bank.

    Exactly what brokers/banks that are supported should be listed somewhere and linked here, as that's a "make or break" feature for a lot of people I bet. Not much point in replacing my homegrown "Banks CSV export -> Data processing > Import into spreadsheet" workflow unless I just replace that last step but the previous ones remain the same.

    • ryandrake 289 days ago
      As an avid, daily Quicken user, yes, seamless integration with financial institutions is my #1 requirement. I am not willing to manually navigate a dozen banks' broken UIs to find their "download CSV" option, hope it works, download a bunch of files to my computer, and then hope that they can be imported into my application--and then repeat every day when I update.

      I have in the past switched physical banks purely because their integration was either terrible or not working and I refused to go the "download CSV" route.

      Unfortunately some banks are starting to drop support for applications directly connecting to them, and moving to an unacceptable model where intermediaries like Intuit's servers have to do the communication and store your credentials. This has been getting noticeably shittier in the last couple of years.

      My #2 requirement (a close second) is that the application must be running on my local PC. I will never accept a cloud-based web-app or something I have to host on a VPS and access through some dinky HTML/JS UI.

      • dgemm 289 days ago
        Interesting perspective because my #1 requirement is that no 3rd party gets financial login credentials at all. I'm willing to do CSVs in order to not compromise on security, although the experience most certainly is bad.
        • flessner 288 days ago
          A lot of brokers offer read-only logins/API keys for these cases. I still heavily agree with your general sentiment - purchasing power is among the most valuable information to businesses and advertisers.
        • shaklee3 288 days ago
          This is a huge waste of time and not worth it. The amount of hours you spend fixing errors manually vs the small risk your info gets out I don't think is worth it.
          • JonChesterfield 288 days ago
            Is it a small risk? The track record of information security with corporations is dreadful and brokerage login details are about the most expensive things one could have stolen.
          • AndyMcConachie 288 days ago
            Completely disagree. Weighing risk vs reward the risk is that my identity gets stolen while the reward is that I don't have to login to my accounts and enter information manually.

            At some point I suspect every person on the planet will have experienced a data exposure event and the question will switch from: have you ever had your info leaked?, when was the last time your info was leaked? It's not a small risk.

            • shaklee3 288 days ago
              The amount of work you'd have to do to correct a stolen identity is far less than the amount of work to log in to 10 accounts periodically,dump the data, format it, import it, and fix any issues
        • mp05 289 days ago
          Interesting that you're this paranoid, but yet you trust banks.
          • jmb99 288 days ago
            There’s a massive difference between trusting banks (insured, backed by the state, etc) and trusting some random SaaS/web app you saw 10 minutes ago with access to said banks.
            • mp05 288 days ago
              Oh it's "random" app, and here this time I figured we were talking about a reputable one that has PCI-DSS compliance like Quicken. My bad.

              Sure, if you just trust some random Chrome extension from a random individual developer, you're absolutely setting yourself up for trouble when they hack your shit. But to wholesale dismiss all apps when there are actual legal protections in place that permit these businesses?

          • zymhan 288 days ago
            At least in the US, you don't have to trust a bank. You just trust the FDIC.

            Also, what a glaring false dichotomy.

            • mp05 288 days ago
              My point wasn’t necessarily creating a false dichotomy, since I was highlighting the inconsistency in the argument about trusting banks but dismissing reputable third-party apps on the whole. Does this person distrust consumer protections set up to allow for such tools to exist in the first place?

              So to make "false dichotomy" stick, you going to need to assert that if Quicken were breached and this lead to my Schwab account being accessed by a bad actor, I actually am shit out of luck. Will you do that?

      • ghosty141 289 days ago
        > I am not willing to manually navigate a dozen banks' broken UIs to find their "download CSV"

        > My #2 requirement (a close second) is that the application must be running on my local PC. I will never accept a cloud-based web-app

        You're lucky you don't live in the EU since well then you are straight out of luck since the bank APIs are only available to commercial entities thus the software generally is in the cloud and costs money.

        • tucosan 289 days ago
          Banks in Germany offer access to consumers via the HBCI standard. Not sure about the rest of the EU.
          • pwagland 289 days ago
            Banks in Germany provide it because of EU regulation.

            https://www.digiteal.eu/open-banking-apis-all-you-need-to-kn...

            • IanCal 288 days ago
              Those regulations are about sharing via trusted third parties, not direct to users.
          • pelasaco 288 days ago
            some similar tools offer a way to parse the PDF files provided by your bank and import it. I wish we had something similar here to do that
          • stuckkeys 289 days ago
            This sounds illegal and against what GDPR stands for.
            • stephenbez 289 days ago
              Why is accessing your own banking data through a standard against what GDPR stands for? GDPR has a right to data portability.
              • stuckkeys 289 days ago
                I miss interpreted. I thought someone else can gain access to consumer data.
        • mesk 289 days ago
        • ctippett 289 days ago
          Obviously the UK is not the EU... but Starling Bank offer an API that you can use to access your personal bank account. I'm sure Monzo and other neo-banks offer similar functionality.
          • com 288 days ago
            Open Banking predates Brexit, so lots of that stuff got carried over into the Brave New World.
        • augstein 289 days ago
          Banks generally support HBCI standard (in Central/Western Europe)

          Thats why using apps like Outbank, that automatically aggregate all your bank accounts data work like a charm in my experience.

        • fmbb 289 days ago
          Is it illegal for banks to provide private customers personal API access?
          • franga2000 289 days ago
            Not that I know of, but I've never seen one that does. And it's not like API access for company accounts is common - what the EU regulation requires, which is the only thing most babks support now, is that anyone can access their own accounts through a licensed account information provider.

            Under the "open banking" scheme, not even massive companies can get API access to their own accounts. It only requires banks to give service providers access that allows their customers to essentially OAuth login into those services with their bank accounts. There is no "I just want my own account" API, only the general one.

            And becoming a licensed provider is insanely hard because it's assumed you'll be actively managing millions of euros for tens of thousands of customers, when in reality, all you want is read-only access to one or a few affiliated accounts.

            • mesk 289 days ago
              I use one that has public API, fio.cz in Czechia. There are surely others...
          • earnesti 289 days ago
            I don't think it is illegal at all. Banks just don't want to offer such features.
      • throw0101b 289 days ago
        > […] and store your credentials.

        And doing so violates the terms of service with many banks:

        > You agree that you will not authorize a third party to use the Service or share your credentials with a third party to use the Service on your behalf except in legally authorized situations such as legal guardianship or pursuant to a power of attorney.

        * https://www.bankofamerica.com/online-banking/service-agreeme...

        • labbett 289 days ago
          I stopped using services like Coinbase that force you into Plaid. My final straw was getting a notification that I had to relink my accounts because I had changed my bank's password.

          The banks are just as to blame. I'd love some basic non-SMS 2FA as a starting point, but sadly my bank is only the #6 largest in the US so they don't have the budget for it.

        • joshka 289 days ago
          Oddly, BofA actually has mechanisms in place to allow non-credential sharing access to external services. Try linking a paypal account and you'll get a prompt from a Bank of America system that allows paypal to access all your banking details.
          • tdignan 289 days ago
            I’m sure that legalese is there for the event that you link a third party service and it empties your account.
      • bitcoin_anon 288 days ago
        You’re a member of a dozen banks!?!
      • paulddraper 288 days ago
        You have dozens of banks?
      • moneywoes 289 days ago
        is there a zapier for integrations that could be used
      • samstave 289 days ago
        # Bank of America (BofA)

        BofA Login https://www.bankofamerica.com/

        1. Log in to your account.

        2. Go to "Activity" or "Statements".

        3. Select the account and time range.

        4. Click "Download" and choose "CSV". Yes

        --

        # Chase Chase Login

        1. Log in to your Chase account.

        2. Navigate to "Statements & Documents".

        3. Choose the account and statement period.

        4. Click "Download" and select "CSV". Yes

        --

        # Wells Fargo Wells Fargo Login

        1. Log in to your account.

        2. Go to "Account Activity".

        3. Select "Download Account Activity".

        4. Choose "CSV" and specify the time period. Yes

        # Citibank Citibank Login

        1. Log in to your account.

        2. Go to "Statements".

        3. Choose the time period and format.

        4. Select "Download" in "CSV". Yes

        # Capital One Capital One Login

        1. Log in to your account.

        2. Navigate to the "Account Activity".

        3. Select the time period and click "Download".

        4. Choose "CSV". Yes

        • samstave 289 days ago
          REP-EDIT:

          You can literally just ask bot for api docs to access info - then gimme a python for such:

          https://i.imgur.com/P9UgZ98.png

          >>"..evaluate the docs for each API and give me the most straight-forward python to connect which prompts me for which fin inst - with a menu for inputs. define an .env with the reqs fin inst fields i'd need to add.. but use the vars in the script... define in mermaid and swim."..

          https://i.imgur.com/SpsyfI5.png

          https://i.imgur.com/QzmPZIg.png

          --

          Basically, the semantic web is near.

          Hopefully soon there will be a dictionary and a thesaurus of quippets {AI-Bot-like snippets that you call like legos to walk through a Warren (rabbits hole)

          ==-->

          "Give me a panel that [does complex output] using [random inputs] and [other relationships] and give put that as "oligarchs" and give me relevant tables for relationships between the [elements]

          (I like to add in "from this .git repo" and I also like to have them do autistically-obsessive logging.)

          The problem is that I have so many logging iterations I get lost...

          What I NEED is an AI co-AIHDHD-Pilot -- that watches all mY iterations and birdwalking through a problem, curiosity, muse, failure, success - -and give me a Charlie Day Version of my thought process

          https://i.imgur.com/4QBjOCZ.jpeg

    • brutal_boi 289 days ago
      For that very reason I tried selfhosting Actual Finance[1] but it is more of a budgeting app than a networth tracking app.

      I ended up coding a small exporter[2] since I already had some stack in place that queries SimpleFI[3], which essentially allows querying balance and transaction information for most US-based banks (read only); most similar to plaid but a lot more developer-friendly afaik.

      [1] https://actualbudget.com/

      [2] https://github.com/eduser25/simplefin-bridge-exporter

      [3] https://beta-bridge.simplefin.org/

      • johntash 288 days ago
        Do you have any experience with plaid to compare it to simplefin by any chance? I started a similar project with plaid before, but haven't really gone back to it since dev accounts became a lot more limited.
        • brutal_boi 288 days ago
          I could not find a way to make or enroll as a dev in plaid; that was a while ago tho.

          SimpleFIN on the other hand seems to be pretty good for dev work; plus very responsive in terms of questions and requests. Can only speak good of them.

          • johntash 288 days ago
            Thanks! I don't remember the exact steps, but I remember it being a PITA to sign up for plaid. I managed to get a dev account before realizing you can't use most banks without going through a more thorough verification/approval process. To do that, you have to (I think) have a paid account.

            SimpleFIN looks pretty.. simple, at least from a glance. When I get time, I'll actually give it a shot.

    • a-fadil 289 days ago
      For now only a standard csv file is supported with these columns: Date, Symbol, Quantity, Activity Type, Unit Price, Currency, and Fee. Supported activity types: BUY SELL DIVIDEND INTEREST DEPOSIT WITHDRAWAL TRANSFER_IN TRANSFER_OUT CONVERSION_IN CONVERSION_OUT FEE TAX Example CSV format: date,symbol,quantity,activityType,unitPrice,currency,fee 2024-01-01T15:02:36.329Z,MSFT,1,DIVIDEND,57.5,USD,0 2023-12-15T15:02:36.329Z,MSFT,30,BUY,368.6046511627907,USD,0 2023-08-11T14:55:30.863Z,$CASH-USD,600.03,DEPOSIT,1,USD,0
      • cvoss 289 days ago
        Seems like this arrangement of columns can't properly support dividends, as 1) there is no change to the held quantity when a dividend is issued, 2) the unit price of the symbol is irrelevant, and 3) there is no column to record the actual amount received. My bank records a quantity of 0 and a dummy unit price of $1. It would be incorrect for the bank to record a non-zero quantity.
        • anamexis 289 days ago
          Why would that preclude supporting dividends? As you mentioned, unit price and quantity can simply be ignored for those rows.
    • neilv 289 days ago
      I don't know about Wealthfolio, but the import QFX/OFX/CSV/etc. into GnuCash has ways to reconcile that with transactions you've manually recorded/edited, which can be much richer than the bank or CC knows. (GnuCash also has a way to import via network access, but I haven't tried it.)

      (Example of richness: splitting am Amazon CC charge into the multiple expense accounts for the items that went into the order, and also accounting for the CC rewards and the Gift Card balance that contributed.)

      I tried taking a break from GnuCash for maybe year, and going to a spreadsheet, and found: (1) it was still substantial work to maintain an accurate view of balances, and (2) I was missing a lot of information I found I needed in practice.

      • jsdwarf 289 days ago
        That's exactly my problem. Assigning the purchase of a new computer mouse to the "Expenses:ITEquipment" account? Easy if you purchased the mouse at your local computer store and used your debit card. Just define a text pattern to make any purchase from that store go to the ITEquipment account and run it against the csv from your checkings account.

        Same purchase from amazon? Difficult, because you have two layers of indirection: checking account > credit card > amazon > it equipment.

        Currently testing a new spreadsheet approach to deal with such scenarios, but not easy.

        • ska 289 days ago
          Isnt' why splits exist though? I've never found that to be onerous, and I did run a small business on it for a while.

          Then again I'd never trust rules to do everything right anyway, so I'm reviewing at least once to reconcile.

        • dmohs 288 days ago
          You just need one more account. The card payment is just a transfer to an "Amazon Balance" account or something. Then the individual items are entries against that account.
    • groby_b 289 days ago
      That's the core question. This is 99% of the value that any such tool provides.

      An open source project that had import flows for all the major banks & brokers into a well-defined unified format? Tremendous impact.

      A graphing tool that only imports a standardized CSV? I can do that in my spreadsheet in minutes.

    • rexreed 289 days ago
      The Spreadsheet-based workflow works very well for me as well. I have a feeling a very large % of people manage their personal finances on a spreadsheet. And it's private, not cloud based, backupable, and password protected.
      • jaza 288 days ago
        Ditto. Even though I'm quick to scream "that spreadsheet is an abomination, you need a database", actually, my personal finances spreadsheet is not an abomination (at least, I'd like to think it's not - and after having seen quite a few "enterprise spreadsheets" in my time, I'd like to think I'm familiar with most of the red flags these days), it's what spreadsheets were designed for. It helps me to appreciate why accountants will never ditch spreadsheets: you just can't beat their flexibility and ease-of-use.

        Although I choose convenience over privacy / no-cloud, Google Sheets FTW.

    • dv_dt 289 days ago
      An tool (maybe AI) that processes PDF statements and outputs the structured importable positions & transactions would be appealing to me. No live online link to be compromised, or at lease a simpler fetch statement PDF scrape (vs maintain scrape of broker sites).
    • figmert 289 days ago
      I really feel like there should be a tool that wraps Woob[0] finance and provides something similar to Plaid, but self-hosted. There are some great finance apps that could then potentially integrate it to improve automation.

      Woob does a great job of providing a good API for automating the web, and sure, not everything works, but it's a good start. Unfortunately, it seems it's not very well known still.

      [0] https://woob.tech/

      • aketchum 289 days ago
        this sounds incredibly hard to do - plaid's moat is that it is a bunch of work to keep up to date with all these different bank UI's, plus many banks have moved to OAuth which they only provide to trusted partners - like plaid. You cant get an oauth token to your BofA account just because you have an account there
    • Onavo 289 days ago
      I have found https://teller.io to be really good for this. They are more affordable than Plaid too at the lower end of scale.

      I have also seen some apps use https://www.simplefin.org/

    • klinquist 289 days ago
      I just assumed it uses Plaid.
      • diggan 289 days ago
        I assume it uses no external services at all as it's supposed to be local first and "No Cloud" is basically the first thing you see when opening up the landing page.

        Not to mention the second paragraph is "no more worries about SaaS services playing around with your data"

      • aketchum 289 days ago
        unlikely, who would pay the plaid bill here? they dont really have ala cart pricing - you have to create an account with them etc
        • stavros 288 days ago
          I can provide an API key, you can use their staging API that allows a few banks for free. That's what I do with a local script I wrote, I get my banks' balances once a week.
          • danielvanacker 287 days ago
            They deprecated their staging API. The equivalent now is “limited production access”.
            • stavros 287 days ago
              Ah really? That's too bad, I guess I haven't used mine in a while, but I was just about to again.
        • arez 289 days ago
          yep, it would be way too expensive
      • jchook 288 days ago
        Imagine if Plaid was open source...
    • progforlyfe 289 days ago
      That's what I was wondering. It's a ton of work, but would love the auto importing / screen scraping features that Mint.com had. For a local desktop tool it even has the potential to support every possible service because they can't do IP blocking on end-users (versus the server-to-server model that Mint.com had, caused many services to IP block Mint's servers).

      Unfortunately, depending on an open-source tool to do this is a double edged sword if it had these features, because we would be opening the risk of supply-chain attacks -- malicious actors getting commits into the repository code which cause the program to send your data elsewhere -- or worse, deplete accounts' funds.

      • diggan 289 days ago
        > but would love the auto importing / screen scraping features that Mint.com had

        I never used it, but didn't that ask you for the username/password in order to do its job? If so, I wouldn't touch it with a ten-foot pole.

        > cause the program to send your data elsewhere -- or worse, deplete accounts' funds.

        Again, seemingly because their shitty architecture would that even be possible.

        There are modern (possibly only European?) standards nowadays that forces the banks to expose proper APIs for doing things like that. Would require a business entity to deploy to production (I think that's one of the requirements?) but otherwise wouldn't be a huge task compared to manually scraping stuff.

        • j-a-a-p 289 days ago
          I suppose you mean PSD2. That is mandatory for EU banks that do payments. I don't think your stock and crypto trading services need to comply.
        • nightski 289 days ago
          Some banks allow you to create separate limited read only credentials at least that can be revoked at any time. But not all of them allow this.
          • al_borland 289 days ago
            I used Every Dollar for budgeting for a while. It seemed mixed. Some banks used auth through the bank that would create a token for the site/app, which could be revoked through my account when the bank. Others used a 3rd party service which required the user enter their bank creds, and seemingly trust them.

            I was in the market for a new bank, so I ended up coming up with my short list of banks I’d look at moving to, then went to Every Dollar to try adding accounts to see what kind of prompt I was met with. Anything that required the 3rd party to store my creds was out of the running. I ended up ending a 20+ year relationship with a bank of this. There were other things too, but this was the straw that got me to actually cut ties.

            I assume Mint was similar. I used it a long time ago, probably when I was more trusting in my youth.

      • jfdjkfdhjds 289 days ago
        only if there were regulations for consumer banking having the bare minimum for application security as is for everything else banks themselves depend on.
      • mulmen 289 days ago
        > Unfortunately, depending on an open-source tool to do this is a double edged sword if it had these features, because we would be opening the risk of supply-chain attacks -- malicious actors getting commits into the repository code which cause the program to send your data elsewhere -- or worse, deplete accounts' funds.

        This is FUD. You’re describing open-commit, which I don’t think anyone does. Open source is not more susceptible to supply chain attacks than closed source software.

    • jfdjkfdhjds 289 days ago
      it's open source... so all of them?
      • groby_b 289 days ago
        That's a somewhat useless statement. "I have a hello world on github. It's Open Source, so it can solve all your problems" is both true and not helpful at all.
  • insane_dreamer 289 days ago
    It's a beautiful design, and I like the idea of OSS and self-hosted instead of a SaaS, but since it doesn't support direct connections to banks/brokerages (i.e., through Plaid), then it's not really an option for me. I'm not going to go through the trouble of downloading/importing CSVs etc. (too many different accounts). (I currently use Wealthfront for net worth aggregation and Copilot for tracking spending.)
    • balderdash 289 days ago
      I don’t know - I really don’t like having those credentials in third parties hands - but I just do this stuff quarterly
      • kevstev 289 days ago
        Agreed- but an app on my own desktop I would be happy to give to, at least instead of a website where they are stored in a database on someone else's box.
        • bornfreddy 288 days ago
          What do you mean? Isn't Plaid online, and you have to give them your credentials for them to fetch data for you? (Genuinely curious, never used Plaid myself)
          • hellcow 288 days ago
            Yes, Plaid stores your credentials. Replicating Plaid-the-service's functionality to run locally would be a large lift...
            • RainaRelanah 288 days ago
              Unattended import would be downright impossible, as most financial institutions require 2FA (usually SMS, gross) to login. Plaid is often given the privilege to bypass this, either through special APIs or through very long lived session tokens.
              • satvikpendem 286 days ago
                Or in some cases, Plaid will literally ask you to input your two-factor code into their site upon login.
          • kevstev 286 days ago
            Yeah- maybe my intent wasn't clear- I would love to use something like Mint/Plaid where all the credentials stay local on my box rather than on some companies box who now essentially have the keys to my financial kingdom.

            Mint but downloadable software that runs locally.

    • boulos 288 days ago
      I've used ofxtools to download things locally. It basically supports the old Quicken/QuickBooks interfaces which many US banks, brokerages, and credit cards support. It's pretty clumsy though.
  • snide 289 days ago
    Really happy with Projection Lab in this space. Although it's not open source, it is self-hostable if you pay for their lifetime access. The developer continues to update it, and has pretty much all the features I want for managing retirement projections.
    • scubakid 289 days ago
      Oh hey, thanks! Working hard to make PL a little better every day :)
    • jakswa 283 days ago
      Just wanted to say thanks for bringing this up! So far it is a really interesting tool for me, as someone too lazy to find a proper financial planner
    • vectoral 289 days ago
      ProjectionLab is great, it's been fun to watch it grow over the last few years!
    • buzzerbetrayed 288 days ago
      As someone who has used it, would you say the lifetime option is worth $800? That seems really steep. It wouldn’t pay itself off over monthly for over 7 years.
    • hansoolo 289 days ago
      Is it specifically for the north American financial market / system?
      • switch007 288 days ago
        No not from what I recall.

        It supported most UK scenarios but I felt like it never got personal taxes quite right. It seemed to be out by about 2-4%

        But maybe I didn't fully understand it, partly because of the way it calculates it as a repayment in the following year (our income taxes are deducted at source and paid monthly)

    • wingin 289 days ago
      another lifetime subscriber here, highly recommend!
  • cube2222 289 days ago
    Looks cool! How does it compare with Portfolio Performance[0], which is arguably the most popular open-source tool for portfolio tracking?

    [0]: https://www.portfolio-performance.info/en/

  • brailsafe 289 days ago
    This is the second time I've looked at this and I can't get past the chart having no labels or axes. I have no investments at all, but I feel like if I wanted a chart, I'd want to not be required to interact with it to see information. Likewise with the Apple-esque ambiguous financial goal progress bars or whatever. Is it 60% or 20 out of 30 dollars over what period of time? Feels like removing information didn't help here.
  • bt1a 289 days ago
    I am currently working on configuring a similar private, open source portfolio tracker built on top of ledger (a double-entry accounting system). I was drawn to it because of its yml config that I can version control easily

    If anyone has set up Paisa (successfully or unsuccessfully) and has anything to share, I'd love to hear it.

    https://paisa.fyi/ https://demo.paisa.fyi/ https://ledger-cli.org/

    When comparing the two programs here, I can't immediately see any big differences. Sorry if this reads like a shallow plug

    • maxwelljoslyn 289 days ago
      I used to use Beancount religiously (before some job and health difficulties left me less capable of tracking my finances as closely.) My biggest complaint was always that I didn't have something like autocomplete/syntax highlighting to cut down on the manual-ness of data entry.

      Most of the aforementioned difficulties are behind me, and Paisa looks like an awesome way to help ease me back into Beancount. Thank you! I'm going to try it out soon!

      • floathub 289 days ago
        There is a beancount mode for Emacs that does a lot of what you want, but only really of use if you use Emacs.

        https://github.com/beancount/beancount-mode

        • freddie_mercury 288 days ago
          The beancount mode for VS Code is also pretty good with syntax highlighting, autocomplete, tabbing, autoformat, etc. It's what I've been using for years.

          But I think the "real" answer, especially as more countries get increasingly cashless, is to just import a CSV or OFX every few weeks so you're not actually manually entering anything.

    • bornfreddy 288 days ago
      Looks interesting, thanks for sharing. One comment: I didn't find any mention of "open source" or AGPL on paisa.fyi, which is kind of a big deal to me, and I assume others too. Maybe you should add it there?

      Like the idea of using text files as storage as it lets me use git to track changes - nice! Will check it out too.

  • steviedotboston 289 days ago
    Looks nice. One reason why I use a spreadsheet for stuff like this is I can share it with my wife through Google Sheets, so we can periodically update with our separate accounts.
    • satvikpendem 286 days ago
      I posted before an Ask HN submission if there were an app that essentially acted as a frontend to Google Sheets, where I could enter information into a mobile or desktop app and have it sync to Sheets but it seems like no such solution exists. I might just have to build it myself.
  • lbrito 289 days ago
    Looks exactly like Wealthsimple; did you use the same graph framework or something?
  • a-fadil 285 days ago
    So Wealthfolio gained some attention since the launch. I wrote a kind of a manifesto for the app: https://wealthfolio.app/manifest Also, a draft of the roadmap: https://github.com/afadil/wealthfolio/discussions/70 Will be working to make it the best desktop tracker :)
  • Circlecrypto2 289 days ago
    Man... The loss of Mint has really left a gap in this market.
    • mindwork 289 days ago
      Once Mint.com has closed I started to dig for alternatives and found Monarch Money. Couldn't be happier to pay for the service. New features come out pretty often, and I believe they work on the better support for tracking investments.
      • impostervt 289 days ago
        Seconded. I used Personal Capital for a while but the links to my accounts broke frequently. Moved to Monarch and paid for it and its way less of a hassle.
        • pama 289 days ago
          [flagged]
      • dalyons 289 days ago
        same journey as me. monach is great, very happy with it. What initially sold me on monarch was the cash flow mgmt & visualization. I could never actually get cash flow to work on empower, it gets confused by things like investment transfers and is not overridable enough. Empower in general feels very jank in comparison now.
      • satvikpendem 286 days ago
        What do you like about Monarch? I was thinking of using it as well after Mint closed.
        • mindwork 286 days ago
          Compared to mint here is a list of things I like about it in no particular order: No ads, I pay for the service and my data is not sold to 3rd party, design, ability to have many different accounts, auto-sync with all my accounts, transaction reviews, cashflow breakdown and sankey diagrams, mobile application + web versions, transaction logging. beginner friendly budgeting interface, tracking recurring transactions.
          • satvikpendem 286 days ago
            Thanks, how are the mobile vs web apps? I found some other services but they're a bit janky on the mobile side whereas with Mint I only used it for mobile, albeit as a reactive rather than a proactive budgeting tool. On that note, how does Monarch compare to YNAB or something where you budget proactively? Is this what you alluded to by "beginner friendly budgeting interface," like what parts make it beginner friendly?
    • r3trohack3r 289 days ago
      I have been using Empower (previously Personal Capital) for almost 10 years now and have been happy enough
    • the__alchemist 289 days ago
      Not really: Ever since Mint's shut down, there have been replacements pouring out of the woodwork. It's a low-hanging-fruit (Due to aggregators like Plaid), saturated marked. Note that the OP's program is a bit different in that it's local, and seems to focus on individual investments vice online account aggregation.
  • Glyptodon 289 days ago
    Besides the ability to easily connect with arbitrary bank and brokerage accounts to maintain data, another thing somewhat lacking in this (general) area is a relatively comprehensive open source market data dataset. You can somewhat pull for individual stocks, but if you want to do analysis or back test a strategy against real data, comprehensive data on even just the S&P 500 is lacking.
  • alex_suzuki 289 days ago
    While you’re at it, have a look at Ghostfolio too: https://ghostfol.io/en/start Open Source and self-hostable.
    • hammock 289 days ago
      How does this compare to Simplifi, Empower, etc?
  • smsm42 289 days ago
    On one hand, this looks like awesome work. On the other hand, personally for me I am not sure how it could ever work for me. Right now, I have 20+ money/investment accounts from ~10 different providers and I am tracking it through a provider that uses Yodelee (and maybe other methods too?). Importing all the statements (which every provider stores in different ways in different places) manually would be a pretty big chore. But keeping it up-to-date - without which the whole exercise is kinda useless - is completely infeasible. That even not getting into the question of every provider exporting data in a different format...
    • anonu 288 days ago
      I think the problem is you have 20+ accounts. Why don't you consolidate?
  • admn2 289 days ago
    is Plaid inherently bad? Is having an automated way of pulling in real time data worth the security risk of authing into all your bank accounts? Genuinely asking as this seems great in theory, but I'm a bit confused what it looks like to manually keep it updated.
    • aketchum 289 days ago
      My company is an online lender - we use plaid so that users may instantly link their bank account. They have an alternative of verifying with micro-deposits, but that does take 2 days and the company gets less information on the user, so there are more manual verifications the user must do (provide paystub and id etc).

      Plaid Cons:

      - The end user must type their bank account credentials into a third party platform that uses their banks logo. It is terrible for general population cyber security because this is the exact type of you thing you should never do in general. However I do not know of any data leaks or info sec issues from Plaid specifically. As far as I know Plaid is totally safe with this information. Im sure they will be hacked eventually though - everyone is.

      - Plaid shows the permission you are granting but the user can not make it more restrictive. For example the company with the plaid integration can choose from 1 to all off these functionalities (they all increase api cost though): KYC Verification, PII from the account, one time current balance, ongoing current balance check, all transactions for previous 2-24 months. The vendor chooses what they want to get and the end user can take it or leave it, they cant pick and choose.

      Plaid Pros:

      - instantly verify bank account instead of waiting 1-2 days for Micro Deposits to hit account then come back to the app to verify. This is just better flow for the user, who often wants the loan asap. It is better for company too, because there is more conversion.

      - balance checks, transaction history - these are useful for us to not overdraw accounts when pulling a payment, and verify income. Budgeting apps use these to auto import values of course.

      - many banks have been forced to move to OAuth because of plaid. Having worked at a Top 10 US bank, I do not believe that any other than maybe Capital One would have OAuth today if it were not for Plaid pushing them

      - There is really no other feasible option to get this data (other than competitors with same exact strategy so no difference). This is the customer's data that is valuable to them! They should be able to share it with trusted partners if it gives them value.

      • jjice 289 days ago
        I was pleasantly surprised to see a few of the large banks having added OAuth in my recent use of a product that uses Plaid. That said, my local bank is far from it and even a large bank like Discover doesn't offer OAuth yet. I've just decided that I have to enter that data manually for those accounts because I can't give out a password to my bank accounts - it's just absurd to me.

        Here's to a continued migration to OAuth by banks, but I'm not holding my breath for it.

      • xyst 289 days ago
        > The end user must type their bank account credentials into a third party platform

        Huh? I have seen plaid redirect to my banks login and then authentication and subsequent authorization (read access to accounts) in other flow. Then plaid uses provided token to retrieve data.

        I don’t recall having to pass login credentials to plaid. Maybe that’s a limitation of _your_ bank?

        • smsm42 289 days ago
          Yes, for banks that have this workflow enabled. In know WF does something like that. But many banks don't, and for these there's not much alternative except getting username/password and scraping. Terrible security, but dragging the banks into 21th century will take a lot of time. Some providers are annoying enough to ban external aggregation completely, seemingly just out of spite. Normally I wouldn't even work with such bank but unfortunately sometimes (like HSA account from work) you don't have a choice.
    • andrewmcwatters 289 days ago
      Yes, but the fault lies with the banks who do not allow their own customers access to their data. Plaid, Intuit, and other private companies scrape financial institutions unless they provide more secure methods to obtain customer data, and most of them do not do this.

      So the state of the art to connect to banks... is Selenium with stealth modifications.

      I own a business which does the same work as Plaid, Intuit, et al.

      • langcss 289 days ago
        An open source repo of selenium scripts for different banks would be a decent thing.
        • andrewmcwatters 288 days ago
          I’m going to risk speaking for other people in the space and say that’s not actually a good idea since at the time of writing there are detection strategies that can shut all of us out of every financial institution if they so chose to do so due to recent changes with specific browsers.

          It’s unsolved at the moment, and may not be for some time. So it’s a matter of time before the current scraping approaches break. We basically have to recompile the browsers from scratch to stop leaking information that distinguishes automation.

        • zburatorul 288 days ago
    • breadwinner 289 days ago
      If you call Fidelity with a security issue the first question they ask you is, did you share your password with anyone (and if you did, you're to blame).
      • fsckboy 289 days ago
        that's line of reasoning applies to all banks etc., though they might not ask it as first question
  • kmfrk 289 days ago
    Would love an example dataset to import just to get a sense of what it looks like with data. Maybe in an example/ folder or directly in the app as a placeholder set. :)
    • a-fadil 288 days ago
      There is an example within the app. On the import screen, navigate to the top right corner and click on "How to Import CSV" for further instructions.
  • oezi 289 days ago
    I have been very happy with https://www.portfolio-performance.info/en/ which is also Open Source, local/desktop and quite advanced.
  • Oras 289 days ago
    Looking good, I've worked in a startup doing this using an app (with more things).

    Adding accounts manually is painful. We used to do it with Open Banking, but since this is open-source, I appreciate that it cannot be done with Open Banking. However, an option to upload a statement (CSV) will simplify the process.

    The same goes for adding securities. I believe you can get an eToro statement that shows you everything, and then you can parse it to populate the information.

    Good luck!

    • AndroTux 289 days ago
      Activity > Upload-Icon (top right) > Drop CSV
      • Oras 289 days ago
        Thanks! I didn't see it. The add activity button is prominent!
  • yellowapple 289 days ago
    It looks nice, but unfortunately Fidelity's CSV exports don't seem to be particularly cooperative AFAICT, which limits how much I'd be able to use this. Haven't tried my other accounts yet.

    It'd be nice if there was an actual standard for this sort of thing (incl. an API for automatically retrieving new transactions), and if banks and brokerages and such could be depended upon to actually use it.

    • TuringNYC 289 days ago
      >> Fidelity's CSV exports don't seem to be particularly cooperative AFAICT

      Not to mention, Fidelity's site seems broken over half the typical days, especially with products like Basket Trades. Baskets broken. No cost basis. No quotes...not even during market hours. Insane.

    • ryandrake 289 days ago
      There is a standard, called OFX[1], but support among financial institution is spotty, unfortunately.

      1: https://en.wikipedia.org/wiki/Open_Financial_Exchange

    • zburatorul 288 days ago
      Fidelity supports ofx downloads which makes the process easier than clicking buttons in a browser. OFX is very detailed, and ofx to cab conversion is solved I think.
  • gsej 288 days ago
    I've developed an app for my own use (which doesn't look anywhere near as good visually!).

    My biggest pain points were cleaning the account data, to make it suitable for import, and getting the appropriate prices so I can see the value of the accounts at any point.

    My financial institution has two sets of downloadable CSV files - one for cash movements, one for stock transactions. They don't include stock symbols, just a "description" which occasionally changes. I'd suggest a plugin system where uploaded statements can be transformed first (depending on where they are from) into the common format your app imports. This would provide a useful point where people could contribute to the app.

    Pricing is something I found hard too - I also use yahoo for current prices, along with a couple of other sources. Historical price ranges can be very hard to come by, at least for free and in easily accessible forms.

    • dinkblam 288 days ago
      > They don't include stock symbols

      even better than stock symbols would be if the whole world could agree to use ISINs (or even WKNs)

    • oezi 288 days ago
      That's why I like Portfolio Performance. It includes access to historical quotes.
  • tinyhouse 289 days ago
    This looks like a great idea. Are there similar OS alternative apps for YNAB / RocketMoney type functionality?
    • freddie_mercury 289 days ago
      Actual Budget is basically an open source clone of YNAB. The UI isn't quite as polished IMHO.
  • constantinum 289 days ago
    Manually adding/importing has always been a hassle for me to get into these apps. For the hassle one has to go through to get the data in, I would just settle for an excel sheet. Let me how you folks are integrating various banks/cards/stock brokers with investment apps?
    • constantinum 289 days ago
      Importing CSV might look easy, but banks, at least in the country that I live in does not have a standard. One might end up spending more time cleaning up the data.
  • HackBlade 289 days ago
    Love the design! If this had automatic importing I would probably drop Copilot for this.
  • Dalewyn 289 days ago
    Speaking practically, I don't see a need or reason for this. I can just login to my bank and brokerage accounts and check live data on the spot.

    Speaking as a Boglehead, checking on your investments frequently is usually a bad thing.

    • diggan 289 days ago
      > Speaking practically, I don't see a need or reason for this. I can just login to my bank and brokerage accounts and check live data on the spot.

      First mentioned and most prominent feature is "Accounts Aggregation" on the landing page. If you don't have multiple accounts, it makes sense you don't see any need for this. But you should also realize that it's fairly common to have multiple accounts, for various of reasons.

      • downut 289 days ago
        I have multiple accounts and I use the friction of logging in manually to each as an incentive not to check them. About every 6 months or more I get a beer, login to each, and check for surprises. Ever since decades ago I gave up my personal autonomy (I will not pick stocks, GE, really?) and channeled my inner boglehead there has not been any surprises.
      • mNovak 289 days ago
        My main brokerage (Schwab, and I assume most others) have account aggregation built in, so that's become my de facto 'wealth manager' dashboard.

        Now, those external accounts are second-class citizens and don't get portfolio analysis and stuff like that, so there is room for improvement, but the ease of use and cost (free) is hard to beat.

      • Dalewyn 289 days ago
        I haven't used it myself (yet?), but both my bank and my brokerage purport to let me link external accounts for easier aggregated viewing.
  • skim 289 days ago
    This looks great. Is there more information on the external connections the app makes? So far I see:

    wealthfolio.app yahoo.com

    I'm assuming latter is to fetch ticker symbols, but ideally would like to use this app completely local.

    • a-fadil 289 days ago
      wealthfolio.app to check for new app versions. yahoo.com to fetch ticker symbols and quotes
  • dewey 289 days ago
    It feels like one of these things where a commercial version has a lot of benefits as most of the interesting APIs in this field are paid, or for banks require a B2B agreement for automatic imports.
  • j-a-a-p 289 days ago
    I always wondered what staring at the historic values of your portfolio will actually help to improve performance.

    If you can define some sort of investment strategy, then the tool can make you follow it perhaps.

    • rufus_foreman 289 days ago
      I have similar information in a spreadsheet (that I am also turning into an app), and what it can help with long term is to put downturns in the market in perspective and keep you from overreacting to them.

      When you look at a log chart of your net worth over several decades, things like the dot-com bubble and the Great Recession look like blips. It makes it easier to look at a bear market and think, "this too shall pass".

      Of course it also helps you see your progress towards a goal and give you information on how long it will likely take to get there.

  • yesimahuman 289 days ago
    Looks very cool. I started working on my own version of this to self host in my LAN. First issue I ran into was the lack of understanding certain CSV formats. For example, Vanguard is so common that I support their export format exactly. Might be worth thinking about focusing on a few common brokerages (vanguard, fidelity, schwab) and making the experience for those really good. Otherwise it's all too manual and most people won't bother going through the hassle of it all.
  • lucasfdacunha 289 days ago
    This looks nice.

    Does this work for the international market, like Brazil for example? Does it track fixed-income types of investments like government bonds, etc?

  • figmert 289 days ago
    Note that this is a desktop app developed via Tauri.

    It would be great to turn this into a hosted service that I can deploy onto a homelab and access everywhere?

  • LifeUtilityApps 289 days ago
    This looks really nice, and I love that it's open source and all the data is saved locally. I will give it a try this weekend!
  • theogravity 289 days ago
    Great work on the app. As another comment stated, having to import CSVs and spending most of your time editing transactions is a huge barrier to adoption. I know most commercial solutions offer something like Plaid to interface and import with financial institutions, and I have no idea what you can do / use as an equiv for a local solution like this.

    I personally pay for Rocket Money (they let you decide how much you want to pay per month with a min of around $4 / month) and as someone who came from Mint, it does an amazing job overall - I rarely have to do manual edits (other than assigning appropriate categories for certain transactions) and the one thing it lacks is Apple Card API import (have to do CSV, but once a month isn't bad).

  • brainless 289 days ago
    This looks beautiful. I am building in the same way, a private app, runs on desktop, same tech stack.

    I have a very generous free tier and I want to add two paid tiers. I have to figure out a license check that doesn't leak user information.

    I would love to collaborate with you and also hear about your future plans for monetization.

  • dc_rog 288 days ago
    A helpful thread from hn the other day on how auth tokens work and how companies like Plaid don’t actually store your credentials (like how mint did back in the day)

    https://news.ycombinator.com/item?id=41420783

    • jjice 288 days ago
      This is true for some banks (mostly large), but not all. Your big banks like Citi and Chase offer OAuth for this kind of thing (as they should), but smaller banks still don't and will require a username and password.

      I don't know how Plaid handles that, but you don't have the nice, permission scoped, revokable tokens like you do with OAuth.

      My primary bank has a checkbox for "third party access" and they pay out how you need to check it when you give a service your username and password so they can access your account. Same username and password, not a new one. It drives me insane how they don't offer OAuth.

  • Ninjinka 289 days ago
    I tried importing activity from a Charles Schwab account, and it did not work, since they capitalize their field titles. Then after fixing that I got "CSV deserialize error: record 1 (line: 2, byte: 81): field 4: cannot parse float from empty string" and gave up.

    Not sure what accounts this is meant to work for.

    • Ninjinka 289 days ago
      Dropped my CSV into ChatGPT with the following prompt and the output file worked:

      ``` Modify this csv to match this format: Follow these steps to import your account activities from a CSV file:

      Ensure your CSV file is in the correct format. Columns should include Date, Symbol, Quantity, Activity Type, Unit Price, Currency, and Fee. Click the 'Import' button and select your CSV file. Review the imported activities before confirming. Supported Activity Types:

      BUY SELL DIVIDEND INTEREST DEPOSIT WITHDRAWAL TRANSFER_IN TRANSFER_OUT CONVERSION_IN CONVERSION_OUT FEE TAX Example CSV format:

      date,symbol,quantity,activityType,unitPrice,currency,fee 2024-01-01T15:02:36.329Z,MSFT,1,DIVIDEND,57.5,USD,0 2023-12-15T15:02:36.329Z,MSFT,30,BUY,368.6046511627907,USD,0 2023-08-11T14:55:30.863Z,$CASH-USD,600.03,DEPOSIT,1,USD,0 ```

      Except it couldn't find the symbol `BRK/B`, `BRK.B` or `BRKB`.

    • xyst 289 days ago
      I would just switch brokerages. Not just for the csv issue, but their platform has taken a shitter since acquiring TDA.
      • FractalHQ 289 days ago
        Are there any you can recommend?
        • xyst 289 days ago
          have had no issues with IBKR since switching last year. There was a recent “crash” (the Japanese stock sell off?) that caused a massive influx of retail trading and dark pool trading. At market open on Monday, SCHW account with 401K was not accessible. But IBKR was up and running.
  • 8mobile 286 days ago
    Hi, I tried wealthfolio as an Investment Tracker for a whole day and I really like it. Simple and minimal. Do you plan to support notifications and widgets? They would be very useful. What did you use to develop it? Thanks
  • corpMaverick 289 days ago
    A bit OT. Does anybody have any recommendations to consolidate monthly expenses with your partner.
    • ska 289 days ago
      I've done this in gnucash, but i don't know if it would be worthwhile for just that.
    • funOtter 289 days ago
      ActualBudget
  • user_agent 289 days ago
    I've put 15 minutes of my work into configuring the app. Even on that surface level I can conclude that the application is full of bugs that impact accounts and savings. It looks good, but it's unusable for any serius purpose. Have a nice day.
  • maidh91 289 days ago
    Thank you for a great project Fadil.

    I would love to contribute to open-source projects like yours.

    Could you share the roadmap?

    How do you think of making it running in mobile browsers and mobile native apps? I would love to be part of it.

    One more thing is to integrate with API from brokers/exchanges.

  • jjav 289 days ago
    Parallel to this, are there any good retirement projection planning open source tools? Just yesterday I was thinking of writing something basic for my needs, but if there is something good out there already maybe I don't need to.
  • balderdash 289 days ago
    How does this handle dividends/dividend reinvestment - this is typically my biggest gripe with portfolio tracking tools, they are really good at telling you how much you have, and not very good at telling you how you’ve done
    • a-fadil 288 days ago
      You log your dividends/interest and you have a dashboard in Holding section -> Income Tab
  • dmackerman 289 days ago
    The tickers from my 401k at Vangaurd aren't supported. VFIAX, VTIAX. Oh well.
    • a-fadil 289 days ago
      Works for me. If the tickers is in Yahoo Finance, it should be supported.
  • mrwww 288 days ago
    So what happens when I buy more of a stock? I need to go update my wealthfolio right?

    How does it do with pension accounts, mutual funds and various other things that may be difficult to add using a major exchange ticker?

  • ejp 289 days ago
    Any recommendations for a privacy-focused app that can handle transaction splitting in ways other than 50/50? Or tracking accounts from multiple people in a household?

    Every app I've tried this is painful or unsupported.

    • sushiburps 289 days ago
      • mNovak 289 days ago
        I used to really like Splitwise for group expenses, but they at some point throttled the free accounts to 4 transactions/day, which is painful. Paying a monthly subscription isn't worthwhile if I only use it in bursts a couple times a year, so its back to spreadsheets.
    • VMelnalksnis 288 days ago
      I created https://github.com/VMelnalksnis/Gnomeshade for myself, transactions have separate transfers which are between accounts, and purchases, which allows to categorize your spending. This setup also allows to easily handle multiple currencies.
    • aaronax 289 days ago
      Any personal accounting software? Quicken, GNUCash, any Plain Text Accounting, etc.

      I must be missing something in your requirements.

      • ejp 289 days ago
        In my experience, gnucash qualified easily as painful. :)

        Here's an example of what I'm talking about: suppose you and a housemate decide that an equitable split for the electric bill is 65/35 based on usage habits. One person pays the electric bill every month. All of these finance apps will download the transaction, categorize the electric bill for me, and maybe apply a custom tag. But I have to manually calculate the amount owed to me, and manually reconcile that with the fact that the other person pays the water bill.

        I'd love to find an accounting app for shared arrangements, but it seems like most are targeted to solo or completely joint finances. Monarch listed elsewhere in these comments is the closest I've seen, but it also doesn't support reconciling split transactions.

        • aaronax 289 days ago
          I see. I split my monthly cell phone bill among 8 family members. This is a manual process, but not too bad since I do it on average twice a year (faster to sign in and download 6 PDFs once than to sign in 6 times to download 1 PDF each time, etc.). So a few minutes to download 6 statement PDFs, 10 minutes to key numbers from those PDFs into my spreadsheet, and then 15 minutes to go through and manually split the transactions based on totals from the spreadsheet.

          I'm pretty sure I could write a custom importer for Beancount but the breakeven point on time would be years.

          I think modifying the CSV importer for Beancount to split certain transactions to certain percentages would be fairly easy--switching to Beancount itself (or other Plain Text Accounting software) would of course be monumental. But it is the ultimate in flexibility.

        • ska 289 days ago
          Part of what you found painful about gnucash is probably that it handles cases like this properly. Not saying it (gnucash) is perfect - far from - but a certain amount of effort is I think a side effect of having both proper accounting practice and configurable account types. Not sure you'll find something really easy that also does it well. In your case different peoples expense accounts would keep a rolling tally and help you figure out what the end of month transaction should be to even things out.

          But any tech may be overkill. In a e.g. roommate situation, a paper record per month (plus receipts, if lower trust) works fine.

    • diegoholiveira 289 days ago
      GnuCash may be a good option
  • scosman 289 days ago
    RRSP and CAD on the homepage . So few financial apps work for Canadians.
    • abdullahkhalids 289 days ago
      Presumably the Canadian government has a concrete plan to implement Open Banking this year [1]. I have been told by an industry insider that if things go as planned, apps should start to support Canadian banks by next year.

      [1] https://www.canada.ca/en/department-finance/programs/financi...

    • ape4 289 days ago
      Its common for Canadians to have USD and CAD investments so that means the app will have to handle multiple currencies which is a useful feature for any investment app.
  • oulipo 289 days ago
    quite nice! It would be great to have a bit more infos about how to get setup, how to input existing values from accounts, etc

    I think I got it right after doing a "deposit" of the exact value of my account, then try to work out what was the correct "buy" price for each stock without the P/L, it roughly works but the numbers don't exactly match those that I have in my account, perhaps because you're not using the same data source as my account

  • palk 289 days ago
    UI looks way more polished than the competition — without having fully set it up, the app sounds very promising as an alternative to SaaS tools. Any plans to monetise?
  • conradev 289 days ago
    How does it store data?

    If it was “file format first” and used something like Beancount or Ledger, I’d absolutely use this. Partly because I already have data in Beancount format.

    • a-fadil 288 days ago
      Data stored in SQLite file
  • grepLeigh 289 days ago
    I strongly encourage you to charge (lots) of money ASAP. I love the open source, offline, rent-free ethnos but also if you've built something truly valuable, charge money for it. Donations don't count as a viable monetization strategy.

    Even if the software is free and you're just offering $500/hour consulting as an add-on to the software, that helps me trust the project has sticking power.

    P.S. I think Tauri is such a cool framework and a delight to use. Rust's approach to platform-specific code is so much saner than anything I've tried previously.

    • alanbernstein 289 days ago
      I think this is the mindset that ruined the web.
      • grepLeigh 288 days ago
        Indie developers getting paid for their craftsmanship ruined the web?

        If a solo dev builds a tool that helps even a handful of people manage 5-6-7 figure portfolios, that's worth more than a cup of coffee.

        • alanbernstein 288 days ago
          No, the idea that every minuscule scrap of content in the world exists to be monetized.

          There are a million other projects that are monetized, why do you need to "strongly recommend" against the very idea of one that is not?

          If that's what the author wants, then great, they should do it, and I hope they make a nice profit. The post suggests it's not what they want.

          • bornfreddy 288 days ago
            Also, as a dev myself, I will investigate it and if I like it and use it, I will implement any missing interfaces, so the author will benefit too. I would never do that for a closed source app. If it used fair source license - maybe, depends on the conditions (should allow unrestricted use, but can limit commercial activities... but that's just my line in the sand).
  • jeffchien 289 days ago
    I wish this and Ghostfolio supported stock splits.
  • kidintech 288 days ago
    tried it quickly on a personal machine running windows; all attempts at submitting `BUY`s for popular tickers (regardless of price, tax, quantity, ticker, date) seem to result in an unknown error. Notably, I tried having the account match the ticker's currency, but that does not fix it.

    This feels like an MVP at best.

  • fractorial 288 days ago
    I didn’t realize how many uncommon it was to just track all of this information manually in a spreadsheet.
  • amai 288 days ago
    From the GitHub readme:

    Technologies Used

    Frontend

    React: JavaScript library for building user interfaces.

    React Router: Declarative routing for React.

    Tailwind CSS: Utility-first CSS framework for styling.

    Radix UI/Shadcn: Accessible UI components.

    Recharts: Charting library built with React.

    Backend / APIs

    React Query: Data-fetching library for React.

    Zod: TypeScript-first schema declaration and validation library.

    Development Tools

    Vite: Next-generation frontend tooling.

    TypeScript: Typed superset of JavaScript.

    ESLint: Pluggable linting utility for JavaScript and JSX.

    Prettier: Code formatter.

    Tauri: Framework for building tiny, secure, and fast desktop applications.

    • hobofan 288 days ago
      Why are you posting an excerpt of the Readme without any additional comment?
  • sockaddr 288 days ago
    Is there a reason I can't import a CSV of balances? Why does it need to be an activity like a trade?
    • a-fadil 288 days ago
      One way to do it is to import a line with type deposit or transfer in with symbol=$CASH-USD(or other account currency)
  • herodotus 289 days ago
    Looks interesting. I have tried it out. Cannot see how to do this step:

    > Import your statements from your broker or bank.

    • AndroTux 289 days ago
      Activity > Upload-Icon (top right) > Drop CSV
  • thinkloop 289 days ago
    How do things remain private if the prices of assets, like stocks, have to be updated?
    • a-fadil 288 days ago
      The app do a call to yahoo api to get symbol data using only the ticker symbol.
  • GoRudy 289 days ago
    Looks like it only takes CSVs, how would we upload documents from brokerage accounts?
  • tsycho 289 days ago
    Does it support options, or only stocks?

    How do you get current market prices for investments?

    • jimmyswimmy 289 days ago
      Looks like it uses yahoo_finance_api in rust. In theory that supports options, but no idea whether this tool handles that data properly, I didn't feel like searching that hard.

      It's gonna take a lot to pry me away from my spreadsheets. They are simple and just work. Ages and ages ago I used MS Money but once they shut down I never migrated to the 'sunset edition,' just switched to excel. I keep trying things, but without local, automatic sync to my accounts, nothing is as simple and effective as a simple spreadsheet, for me.

  • KTibow 289 days ago
    This looks like a Material Design demo app in the best way possible
  • taivokasper 289 days ago
    At a first glance it looks beautiful but very US centric.
  • gniting 289 days ago
    Looks great, nice job!

    Crypto asset tracking on the roadmap?

    • a-fadil 289 days ago
      Supports Crypto Assets as well.
  • prashp 289 days ago
    What framework/language did you use?
  • Batman1337 289 days ago
    Can you add Linqto support?
  • nashashmi 288 days ago
    OT: I think .app tld should be reserved for web apps and require manifest files. A
  • aucisson_masque 289 days ago
    Such a great tool
  • goodpoint 289 days ago
    """ Prerequisites

    Ensure you have the following installed on your machine:

        Node.js
        pnpm
        Rust
        Tauri
    """

    Sorry but all these languages and tooling just for a simple desktop application is a pass.

    • varun_chopra 289 days ago
      You do realize these prerequisites are steps to _build_ the application and that you can download the binary directly, right?

      Right?

      • goodpoint 288 days ago
        Yes. I'm surprised you assume people on HN don't know what a compilation is.
  • sghiassy 289 days ago
    Kudos!
  • tantalor 289 days ago
    > Ditch the spreadsheets

    ... and use this spreadsheet instead?

  • TexanFeller 289 days ago
    "Local Data Storage. No Subscriptions, No Cloud"

    This is what we need more often from our software, especially from software that works with sensitive data. I do typically want sync options though since I tend to use several different devices and it sucks not being able to reference information on the go from my phone. Sync options can include locally/self hosted options or use something like iCloud that don't depend on a software vendor's running a service though.

    • mr_mitm 289 days ago
      If I can specify the data location, I could just use syncthing or dropbox or whatever. Syncing directories is mostly a solved problem.
    • picardo 289 days ago
      > This is what we need more often from our software, especially from software that works with sensitive data.

      Storing sensitive data in local storage makes you vulnerable to XSS attacks and Man-in-the-Browser attacks. You're exposing your sensitive data to an attacker that injects a script to the website and to malicious browser extensions. All sensitive data stored in local storage must be encrypted using a key stored in the server or somewhere on your hard disk. Otherwise, you're not reducing your risk, but substituting one type of information disclosure vulnerability with another.

      • diggan 289 days ago
        > Storing sensitive data in local storage makes you vulnerable to XSS attacks and Man-in-the-Browser attacks. You're exposing your sensitive data to an attacker that injects a script to the website and to malicious browser extensions

        The app in question runs locally and only with trusted code. How is the attacker supposed to get in there to place the XSS or even do a MITM attack when there is no exposed website at all? Neither are there browser extensions involved here.

        > All sensitive data stored in local storage must be encrypted using a key stored in the server

        Huh? Please don't do this, especially not for "local first" applications, would defeat the entire purpose.

        • picardo 289 days ago
          > only with trusted code

          That's a big assumption. Have you read all the code, and the dependencies of the dependencies of your code? If you haven't, how do you know it can be trusted? What if there is a backdoor in an obscure dependency that can inject a script into your website to steal your sensitive data? Don't laugh it off. When there is money on the line, someone is going to try it.

          > Neither are there browser extensions involved here.

          What about the extensions you installed in your browser? What about the user scripts (if you use them)?

          > Huh? Please don't do this, especially not for "local first" applications, would defeat the entire purpose.

          Why not? Why do you want a local first app in the first place? What's the purpose of a local first app, if not security?

          • diggan 289 days ago
            I think you're misunderstanding what kind of application this is.

            It's not a website, it doesn't run in your normal browser. It runs as a standalone application.

            > Why not? Why do you want a local first app in the first place? What's the purpose of a local first app, if not security?

            Because as soon as those keys aren't available (either because the endpoint no longer exists, or you cannot connect to the endpoint for whatever reason (like being offline)), you can no longer access your data.

            That isn't "local first" at all, it's something else entirely.

            • picardo 289 days ago
              > Because as soon as those keys aren't available (either because the endpoint no longer exists, or you cannot connect to the endpoint for whatever reason (like being offline)), you can no longer access your data.

              The encryption key doesn't have to be stored in the cloud. It just has to be stored somewhere else -- it could be in the file system.

              > It's not a website, it doesn't run in your normal browser. It runs as a standalone application.

              Even if it's a standalone application, it doesn't mean the code can be entirely trusted. I wouldn't take that risk.

              • diggan 289 days ago
                > The encryption key doesn't have to be stored in the cloud. It just has to be stored somewhere else -- it could be in the file system.

                Right, makes sense. I was saying to not store it in the cloud, specifically. Encrypt local data at rest, makes sense. Storing encryption keys for said content somewhere where you need internet access to get, doesn't make much sense.

                > Even if it's a standalone application, it doesn't mean the code can be entirely trusted. I wouldn't take that risk.

                "Trusted" here refers to "not user provided inputs" that SaaS/website usually does somewhere. Obviously, there is code somewhere that you haven't read and verified, that's true for literally everyone using a computer today, no one has read and verified all the code they've run, we'd get nothing done if that was common practice.

                Just for curiosities sake, what OS you use and how much of your software you use daily have you read through the source code of?

                • picardo 289 days ago
                  > what OS you use and how much of your software you use daily have you read through the source code of?

                  Very few. It depends on the data I need to store in the program. I don't store sensitive data in Figma or VSCode, so I don't really care if they don't encrypt my data in local storage. But if I'm in the market for something that offers to manage my sensitive financial data, then yes, I want to dig into its dependencies and security strategy first.

      • keyle 289 days ago
        This 100%. People need to stop thinking that somehow their browser storage is a safe place to store sensitive information. It isn't and it is volatile and can get trashed by software updates and other reasons.
      • amenod 288 days ago
        This app is using "local storage" (storage that is local to your computer), not browser "window.localStorage".
    • LifeUtilityApps 289 days ago
      I built a similar tool to what OP shared, mainly for debts instead of investments, and I completely agree with you. My app only uses iCloud to sync and it keeps all sensitive data on the user's phone. Another benefit I want to share about this approach is it means that apps built local-only will never have the risk of one day going offline and being inaccessible due to the company closing down or turning off the server.
    • jxf 289 days ago
      > Sync options can include locally/self hosted options or use something like iCloud that don't depend on a software vendor's running a service though.

      Don't most sync options depend on a software vendor running a service? (Your VPS hosting company, your SaaS handling cross-device syncing, your cloud provider, et cetera.)

  • slipperybeluga 289 days ago
    [dead]
  • airtonix 289 days ago
    [dead]
  • MarketingGuy69 288 days ago
    [dead]
  • shipscode 289 days ago
    [flagged]
  • Darulquran-123 288 days ago
    [flagged]
  • kyrofa 289 days ago
    v1.0 before 100 commits, wow.
    • the__alchemist 289 days ago
      It appears that it does not use 0ver: https://0ver.org/
      • kyrofa 289 days ago
        Haha, you just made my day. How have I not seen this?! Thank you.
    • a-fadil 289 days ago
      I developed, the app as a side project for my needs. Made the decision to move to another public repository to open sourced and not to keep the git history. App code is simple to read if you want to check security and privacy concerns.
    • Ringz 289 days ago
      Only if you assume that it is their first repository and that they performed the first commit after the first line of code.
  • tomlue 289 days ago
    just want to mention that it's like a few hours to set up some google sheets scripts to set up 90% of this yourself.
    • constantinum 289 days ago
      Not sure why this is downvoted. I settled with spreadsheets after trying out lots of such trackers. The frustration in your comment, I can feel. A lots of similar comments also reflecting the same about spreadsheets.
      • tomlue 289 days ago
        I wasn't really trying to be negative about the original post. That last 10% can be super valuable for many people!
  • rs999gti 289 days ago
    > No monetization is planned for now (only a "buy me a coffee" if you use and appreciate the app).

    A few ideas:

    Anonymize and aggregate the data, then sell it off to financial and marketing firms.

    Add ads to the site.

    Charge a subscription fee.

    Partner with banks as a white label financial planning tool.

    • DoingIsLearning 289 days ago
      Did you read OP's words?

      > I developed this app for my own needs. Getting tired of SaaS app subscriptions and privacy concerns.

      • jfdjkfdhjds 289 days ago
        well, it won't concern HIS privacy :)
    • xyst 289 days ago
      > Anonymize and aggregate the data, then sell it off to financial and marketing firms.

      Horrible. Goes against the privacy oriented aspect of this app.

      > Add ads to the site.

      Oh great, more useless ads I have to block. Nothing like getting a crypto scam ad while viewing your portfolio performance. Horrible UX idea.

      > Charge a subscription fee.

      Yet another SaaS, centralization of data, and betrays the privacy oriented aspect

      > Partner with banks as a white label financial planning tool.

      Likely won’t work. Maybe small advisors would buy into it but at that level there are a plethora of tools available to them with real time aggregation available via Plaid or even old school scraping (doubtful in 2024 though).

      How about this? Just charge one time fee for major versions of the app. Minor and patch versions are free. Keep the privacy oriented aspect and local to users machine.

      Why must you always use the worst ways to monetize? Treat users with respect and you will have life long customers. Not everything needs to be a billion dollar unicorn pumped with VC funds.

      • rs999gti 289 days ago
        > Why must you always use the worst ways to monetize? Treat users with respect and you will have life long customers. Not everything needs to be a billion dollar unicorn pumped with VC funds.

        They aren't the worst ways to monetize, they are just the ones that work.

        > How about this? Just charge one time fee for major versions of the app. Minor and patch versions are free. Keep the privacy oriented aspect and local to users machine.

        Unless he is charging a substantial and/or recurring amount, there is no way he will put up with angry customers and enjoy maintaining the software in the long term.

        Plus, if this is hosted, hosting is a variable cost that always goes up, so his prices for updates will always be increasing.

        • swiftcoder 289 days ago
          > Plus, if this is hosted, hosting is a variable cost that always goes up,

          The site very clearly states that this is a desktop app

    • jader201 289 days ago
      I feel like there was an implied /s, but I’m guessing the downvoters disagree.