Give your agent a wallet you control.
Let your agents pay online using one-time-use cards or with machine payment protocols. You approve every request.
Yield rankings, sustainability scores, and tax guidance for dividend investors in Switzerland, Germany, and Austria.
FinanceTypeScript · CSSGitHub @VinyxsoftwareOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
DividendWatch: Dividenden-Tracker für Anleger in der DACH-Region. Next.js + Prisma
Translation pending
Taken from the repository README
Loading the full README.
Read the full README ↗██████╗ ██╗██╗ ██╗██╗██████╗ ███████╗███╗ ██╗██████╗ ██╗ ██╗ █████╗ ████████╗ ██████╗██╗ ██╗
██╔══██╗██║██║ ██║██║██╔══██╗██╔════╝████╗ ██║██╔══██╗██║ ██║██╔══██╗╚══██╔══╝██╔════╝██║ ██║
██║ ██║██║██║ ██║██║██║ ██║█████╗ ██╔██╗ ██║██║ ██║██║ █╗ ██║███████║ ██║ ██║ ███████║
██║ ██║██║╚██╗ ██╔╝██║██║ ██║██╔══╝ ██║╚██╗██║██║ ██║██║███╗██║██╔══██║ ██║ ██║ ██╔══██║
██████╔╝██║ ╚████╔╝ ██║██████╔╝███████╗██║ ╚████║██████╔╝╚███╔███╔╝██║ ██║ ██║ ╚██████╗██║ ██║
╚═════╝ ╚═╝ ╚═══╝ ╚═╝╚═════╝ ╚══════╝╚═╝ ╚═══╝╚═════╝ ╚══╝╚══╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝
Dividend stock intelligence for DACH retail investors.
Track yields, simulate savings plans, and assess sustainability — all in one dark, fast, open-source app.
Live Demo · Report Bug · Request Feature
DividendWatch is a free, open-source financial tool built specifically for retail investors in the DACH region (🇨🇭 Switzerland · 🇩🇪 Germany · 🇦🇹 Austria). It cuts through noise to answer one question:
Which dividend stocks are actually worth holding?
No ads. No paywalls. No data selling. Just clean, fast, honest financial data.
Browse and filter 67 dividend stocks from Swiss (SIX), European (XETRA, AMS, EPA), Austrian (Vienna), UK (LSE), and Scandinavian (Nasdaq Stockholm, Nasdaq Copenhagen) exchanges, plus US (NYSE, NASDAQ) — sorted by yield, filtered by region.
Each stock gets a sustainability badge based on payout ratio and dividend growth history:
Compound your wealth with a full Dividend Reinvestment Plan (DRIP) simulator. Set your monthly budget, stock price, dividend, and growth rate — see exactly where you land after 1–40 years, with an interactive chart.
Enter any CHF amount and instantly see: how many shares you can buy, annual dividend income, monthly income, and leftover cash.
Side-by-side comparison of Dividend vs. Growth strategies with a grid of top growth stocks (NVDA, MSFT, AMZN, AAPL, and more) including P/E, Beta, and Market Cap.
Every stock detail page includes jurisdiction-specific tax notes — Swiss Verrechnungssteuer, US withholding tax under the DBA treaty, EU per-country rates — so you know your real after-tax return.
System-aware dark mode powered by next-themes, with a manual toggle in the header — respects your OS preference by default and remembers your choice.
Track your own holdings at /portfolio — add tickers and share counts to see your live position value and dividend income across currencies. Stored entirely in your browser via zustand + localStorage, no login or database required.
Every stock detail page includes a Recharts line chart of dividend payments over time, built from the same dividend history data that powers the sustainability score.
Export the currently filtered and sorted stock table to CSV or JSON with one click — handy for your own spreadsheets or further analysis.
| Layer | Technology |
|---|---|
| Framework | Next.js 16 (App Router, Turbopack) |
| Styling | Tailwind CSS v4 + shadcn/ui |
| Database | PostgreSQL via Prisma ORM |
| Data Source | yahoo-finance2 |
| Charts | Recharts |
| Icons | Lucide React |
| Fonts | Syne · DM Sans · JetBrains Mono |
| Deployment | Vercel |
| Package Manager | pnpm |
git clone https://github.com/Vinyxsoftware/dividendwatch.git
cd dividendwatch
pnpm install
cp .env.example .env
Open .env and set your values:
# PostgreSQL connection string (Supabase, Neon, Railway, etc.)
DATABASE_URL="postgresql://user:password@host:5432/dividendwatch?sslmode=require"
# Secret for the /api/refresh endpoint (any random string)
REFRESH_SECRET="change-me-in-production"
# Push schema and generate Prisma client
pnpm prisma migrate deploy
pnpm prisma generate
# Seed with live market data from Yahoo Finance
pnpm seed
pnpm dev
Open http://localhost:3000 — you should see the full app with live data.
dividendwatch/
├── app/
│ ├── page.tsx # Homepage — rankings + budget calculator
│ ├── portfolio/page.tsx # Portfolio tracker — your own holdings
│ ├── simulator/page.tsx # DRIP savings plan simulator
│ ├── wachstum/page.tsx # Growth stocks comparison
│ ├── stock/[ticker]/ # Stock detail page
│ ├── error.tsx # Route error boundary
│ ├── loading.tsx # Route loading skeleton
│ └── api/
│ ├── stocks/ # REST endpoint — list + detail
│ └── refresh/ # Trigger data refresh from Yahoo Finance
├── components/
│ ├── SiteHeader.tsx # Shared glass nav header
│ ├── StockTable.tsx # Filterable dividend ranking table
│ ├── BudgetCalculator.tsx # Interactive budget → dividend calculator
│ ├── SimulatorChart.tsx # Recharts DRIP area chart
│ ├── DividendHistoryChart.tsx # Recharts dividend history line chart
│ ├── PortfolioClient.tsx # Portfolio tracker UI
│ ├── ThemeProvider.tsx # next-themes dark mode provider
│ └── SustainabilityBadge.tsx
├── lib/
│ ├── prisma.ts # Prisma client singleton
│ ├── yahoo.ts # Yahoo Finance fetcher + ticker list
│ ├── calculations.ts # Sustainability scoring logic
│ ├── export.ts # CSV/JSON export helpers
│ ├── fx.ts # Approximate FX rates for cross-currency totals
│ └── portfolioStore.ts # zustand store for portfolio holdings (localStorage)
├── prisma/
│ └── schema.prisma # Stock, Dividend, PriceSnapshot models
└── scripts/
└── seed.ts # Bulk data seeder
Stock data is fetched from Yahoo Finance. To refresh manually, call the API endpoint with your secret:
curl -X POST https://your-deployment.vercel.app/api/refresh \
-H "Authorization: Bearer YOUR_REFRESH_SECRET"
To automate refreshes, set up a cron job or use Vercel Cron.
The fastest way to self-host your own instance:
You'll need to set DATABASE_URL and REFRESH_SECRET in the Vercel project environment variables after cloning.
Contributions are what make open source great. All contributions are welcome — bug fixes, new features, better data sources, UI improvements, additional ticker lists for other regions.
git checkout -b feat/your-featuregit commit -m 'feat: add your feature'lib/fx.ts)Please open an issue before starting large changes so we can discuss the approach.
Distributed under the MIT License — see LICENSE for details.