DEV Community

Mack
Mack

Posted on

I Built a Portfolio Tracker for EU Investors Because Everything is USD-Only

Every portfolio tracker I've tried assumes I'm American.

Yahoo Finance? USD. Google Finance? USD. Every shiny fintech app with a waitlist and a $12/month subscription? You guessed it — USD.

I'm a European investor. I buy stocks in EUR. I hold ETFs priced in GBP. My savings account is in CHF. And every single time I wanted to check how my portfolio was actually doing, I had to mentally convert currencies, open XE.com in another tab, and do napkin math.

So I built FolioTrack.

The Problem Nobody Talks About

If you're investing from Europe, you're a second-class citizen in fintech. Most tools don't just default to USD — they only support USD. Want to see your total portfolio value in euros? Too bad. Want to track a stock listed on Euronext or the SIX Swiss Exchange? Good luck finding it.

This isn't a niche problem. The EU has 450 million people. The eurozone alone has a GDP north of $14 trillion. But somehow, every developer building portfolio tools acts like the world ends at the US border.

I got tired of it.

What I Built

FolioTrack is a portfolio tracker that actually works for European investors. It's a static web app — no backend, no signup, no data leaving your browser.

Here's what it does:

  • Multi-currency support — Set your base currency to EUR, GBP, CHF, or yes, even USD if you want
  • Live prices via Yahoo Finance API
  • Real-time FX rates from the European Central Bank (the actual ECB, not some sketchy third-party)
  • Pie chart showing your allocation at a glance
  • 30-day performance chart so you can see trends without obsessing over daily moves
  • Dark and light themes because we're not animals
  • Fully mobile responsive — works great on your phone

FolioTrack screenshot

The Tech (Or Lack Thereof)

Here's where it gets fun. FolioTrack has zero dependencies.

No React. No Vue. No Svelte. No bundler. No node_modules folder that weighs more than the app itself. Just vanilla JavaScript, HTML, and CSS.

The entire thing is ~29KB. That's not a typo. Twenty-nine kilobytes. It loads instantly on any connection, even that sketchy airport WiFi you're probably on right now.

All your data lives in localStorage. Nothing hits a server. Nothing gets tracked. There's no analytics, no cookies banner, no GDPR popup (because there's nothing to consent to). Your portfolio data stays on your device.

Why Vanilla JS?

Because I didn't need anything else.

Look, I love modern frameworks for complex apps. But a portfolio tracker isn't a complex app. It's a list of holdings, some math, two charts, and an API call. Reaching for React here would be like driving a semi-truck to pick up groceries.

Vanilla JS meant:

  • Zero build step (just open the HTML file)
  • No dependency vulnerabilities to patch
  • No framework churn to keep up with
  • Instant load times
  • Easy to understand and contribute to

The codebase is small enough that any developer can read the whole thing in an afternoon.

How It Works

  1. You add a holding (ticker symbol + number of shares + purchase price)
  2. FolioTrack fetches the current price from Yahoo Finance
  3. It grabs the latest FX rate from the ECB
  4. It converts everything to your base currency
  5. You see your actual portfolio value, gains/losses, and allocation

That's it. No account creation. No email verification. No "free trial" that expires. You open the page and start using it.

The Business Model

Right now, the free tier gives you 10 holdings. For most casual investors, that's plenty.

I'm working on a Pro tier at €8/month that'll unlock unlimited holdings and some extra features. But the free version isn't crippled — it's genuinely useful as-is.

I chose €8 specifically because I'm tired of seeing $9.99/mo pricing from tools that don't even support my currency. If I'm building for Europeans, I'm pricing for Europeans.

Try It / Contribute

Live app: mack-moneymaker.github.io/foliotrack

Source code: github.com/mack-moneymaker/foliotrack

It's open source. If you're a European investor frustrated by the same USD-everything problem, give it a spin. If you're a developer, PRs are welcome — especially for additional exchange support and localization.

And if you're building fintech tools: please, please remember that not everyone uses dollars. The bar is literally on the floor, and most apps still trip over it.


Built with frustration, vanilla JS, and zero dependencies. The way the web was meant to be.

Top comments (0)