Serin is the open-source portfolio tracker — run it yourself, or sign in and Serin Cloud runs it for you. Read-only broker sync, AI morning briefings, screenshot imports, and real returns math. Your data stays yours: on your hardware, or one click from leaving ours.
Wire up your accounts once. Serin keeps score, flags what changed, and briefs you every morning — without selling, sharing, or even seeing your data.
Market data, brokerages, and insights are all plugins. Toggle them in the portal — or write your own in ~40 lines of Python and open a PR.
Operator, Analyst, or Executive style — every morning, in plain language. You see the expected price before every run.
Drop any broker CSV or a screenshot — AI extracts the rows, you review every cell before anything is saved.
Time-weighted and money-weighted returns computed from your actual transaction log — not vibes.
Hold in dollars, euros, yen — totals convert to your display currency; native prices stay labeled.
Self-hosted, one file of data, zero telemetry. Security is a feature, not a settings page.
Docker is the only prerequisite. Clone the repo, bring it up, open localhost:8890 — one container serves everything. Full guide →
Connect brokers read-only via SnapTrade, drop a CSV, or snap a screenshot with Smart Import.
Build the open-source app onto your phone, scan the pairing QR, and it mirrors everything — Face ID lock included. Mobile →
The native app is a client for your server — pair it with one QR scan. No accounts, no middleman, and it works offline with the last synced snapshot.
Serin's health metric isn't revenue — it's connectors. Copy the template, implement three methods, open a PR. The portal UI, config forms, encryption, and docs button come free.
The open-source core is a complete product. Paid plans add managed services and institutional-grade analysis on top — never by taking something away.
The one-way-door pledge: everything in the open-source repo stays AGPL and free, forever. Features never move from free to paid. If a subscription lapses, Serin degrades gracefully to open-source behavior — your data is never held hostage.
No. That's the one-way door: anything shipped in the open-source repo stays there under AGPLv3. Paid tiers only ever add new things.
Serin keeps working as the open-source core. No lockouts, no kill switches, no data hostage-taking — an expired license simply means the pro features step aside. Cloud customers can export everything at any time, including after cancellation. Cancelling takes two clicks at serin.money/cancel.
Cloud customers share one managed database rather than each getting a private machine. Every row carries an owner, every query filters on it, and Postgres row-level security enforces the same rule underneath — a query that forgot to filter returns nothing rather than someone else's holdings. That is strong separation inside shared infrastructure, not physical isolation, and we would rather say so than imply otherwise. If you want your data on hardware nobody else touches, self-host — that stays free forever.
No — all sales are final, for first charges and renewals alike. You can cancel anytime: you keep what you've paid for until the period ends, and you aren't charged again. Full detail in the terms.
Never. Self-hosting the core is free forever, for any use, under AGPLv3. The Intelligence pack is an optional add-on that also works on self-hosted instances.
No. Serin sends nothing anywhere unless you configure it to. Briefings go to an AI provider — DeepSeek by default, Anthropic if you set an Anthropic key instead — with your key, when you run one or on the schedule you set. It names the provider before every run, and the privacy policy spells out what leaves your machine.
The core is free forever. Your data is yours forever. Five minutes to first dashboard.