Documentation
Settings
Everything configurable lives in one frosted-glass dialog behind the ⚙ button in the topbar, organized into tabs — General, Strategy, Trades, Taxes, Assistant, Data and (on the hosted app) Account.
How saving works
The dialog has one Save button, shared by every tab, in a footer that stays reachable even on the phone bottom sheet. Edits on any tab — theme, currency, table sizes, refresh cadence, strategy, buy plan, assistant model, data sources — are staged:
- Staged edits survive tab switches, and the theme previews live while staged.
- Nothing is written until you press Save, which applies everything at once — in a single portfolio rebuild when one of the changes needs it.
- Closing with edits still staged asks first — clicking outside the dialog, pressing Esc or the ✕ raises a small Unsaved settings prompt: Apply saves the staged edits, Discard throws them away, and anything else (Keep editing, Esc, a click beside the prompt) returns to the dialog. With nothing staged the dialog just closes. A footer note also warns while there are unsaved changes.
- The Save button lights up only while there is something to save.
General — appearance & behaviour
- Theme: System (follows your device's light/dark setting), Light or Dark. Saved in this browser; previews instantly while staged.
- Display currency: any of 30 world currencies — USD (the default), EUR, GBP, JPY, CHF, CZK, CAD, AUD, NZD, SEK, NOK, DKK, PLN, HUF, RON, TRY, CNY, HKD, SGD, KRW, INR, BRL, MXN, ZAR, ILS, AED, THB, MYR, IDR and PHP. The selector has a search box: type a code or a currency name ("swiss" finds CHF) and pick with the arrow keys and Enter, or the mouse. Every amount — including each historical chart point, trade flow and dividend — converts at that day's exchange rate, not today's. Changing it rebuilds the portfolio. (Also switchable by asking the assistant.)
- Explore tables: how many stocks the "Largest companies" and "Most active today" tables load. Smaller tables load faster.
- Advanced tools: the professional-investor surfaces — the Macro card with the regime strip and Treasury-spread chart, the Trades decision ribbon, and the Risk card's correlation heatmap and rolling 12-month view. On by default; untick to keep the app to its simpler core (the choice is saved in this browser).
Strategy — your investing profile
Write your investing thesis (or start from a preset — "Saving for retirement" is active by default until you write your own), and set your horizon and risk tolerance. The strategy is part of the assistant's context everywhere, and the Strategy check ✨ report evaluates the portfolio against it.
Trades — buy plan & allocation targets
The Monthly buy plan section leads the tab (it moved here from Strategy — it configures how new money is traded) and holds the knobs the Buy advice ✨ report honors:
| Knob | Default |
|---|---|
| Amount invested per month | 10 000 (in your display currency) |
| Latest trade day of the month | 25 |
| Maximum distinct buys | 3 |
| Minimum single order | 2 000 |
The buy plan is staged and saved with the dialog's shared Save button, like every other setting.
Allocation targets say where you want the portfolio to end up — per asset, per market sector and per asset class (equities / bonds / gold & commodities / cash…) — and the Trades tab's drift bars and recommendation scoring pull toward them. The class group comes with three risk-profile presets — Conservative 40/45/10/5, Balanced 60/25/10/5, Aggressive 80/10/5/5 (equities/bonds/gold/cash) — that prefill the rows for you to edit, and Balanced is the out-of-the-box default (the preset button stays highlighted while the rows match it; clear the rows and save to opt out). With Advanced tools on, a targeted class you hold little or nothing of makes the buy recommendations suggest 1–2 representative ETFs for it (UCITS lines for European display currencies, US lines otherwise), flagged with a "fills missing class" chip — illustrative candidates, not endorsements. Sector targets start empty — add rows only for the sectors you want constrained; whatever you save is kept. Percentages need not sum to 100. The criteria-weight sliders live on the Trades tab itself, next to the scores they shape.
Taxes — tax rules
The lot-pairing engine's country rules, illustrative only: the pairing mode (FIFO, min-tax, or min-tax with already-closed years sealed), the time-test length in years (0 disables it) and whether crypto joins it from a chosen date, the small-sale limit and exempt-gains cap (both in CZK, 0 = off), and the flat tax rate the estimates use. Defaults model the Czech regime — every rule is adjustable or disableable for other countries, and everything derived from them (tax badges, the Sell optimizer, annual gains) is orientation, not tax advice.
Assistant — models & tips
Provider and model selection (OpenAI, OpenRouter, Ollama, LM Studio), the two model slots with their thinking/effort controls, and the Off / Minimal / Active slider for proactive tips. Covered in depth in The Assistant.
- Skills — upload Markdown files with standing custom instructions the assistant follows (output formats, tip behavior, app-start routines), each targetable at specific surfaces via an
applies-to:first line; see Skills.
Data — sources & refresh
The Data sources card: drop CSVs or folders, enable/disable or remove files, and manage Other assets (manual entries). Connect an account opens the one searchable list of every platform — a read-only key, a broker sign-in or a CSV — and everything you have linked sits above it under Connected accounts, each row marked with its route and its last sync; see Connecting an account. Also here: the automatic quote-refresh cadence (15–120 minutes, default 15 — the market feed publishes new 15-minute bars, so a faster setting would only re-read the same data; fetches are timed to land just after each quarter-hour publication) and the last-updated time. Source changes are staged like everything else and applied in one rebuild on Save — details in Getting your data in.
Alerts — server-side morning digests
Settings → Alerts turns on morning digests that the server computes and delivers without the app being open — a free-plan feature for signed-in hosted accounts, because they are the one kind of user whose portfolio actually lives on the server (a guest session’s data is wiped after a few hours of inactivity, and the desktop app’s data never leaves its machine — the panel says so instead of silently not delivering). Every alert lands in the Insights card on the Portfolio tab: a chip on the card header counts the unread ones, and each alert is a 🔔 pill that unfolds its text when clicked (the first click marks it read). Optionally, alerts are also emailed to your account address — as one combined digest per delivery, at most one email per your chosen period: a proper HTML email with real tables (the earnings digest shows Symbol, report date, EPS vs. estimate with a green ✓ for beats and a red ✗ for misses, and not-yet-reported holdings dimmed below; movers get day-move and change columns — plus the rule each move crossed when your move rules differ; the brief its totals, best/worst movers and largest positions), the plain text kept as a fallback for mail clients that want it. If you read weekly or monthly, moves and earnings that happen mid-period still appear in the Insights card the same morning — the email simply waits for your next delivery morning and carries them along under “since your last digest”. If the server has no outbound mail configured, the panel tells you rather than pretending.
You choose the frequency (every day, weekly on Mondays, or monthly on the 1st) and the morning hour (5:00–11:00, default 7:00) — delivered in your timezone, which travels along automatically whenever you save. Four alert types, each with its own checkbox: the portfolio brief (total value, the period’s change, best and worst movers, largest positions); the earnings season digest, sent once a quarter when more than 80% of your report-filing holdings have published quarterly results (who reported, who beat or missed estimates); large single-day moves — a list of rules you add and remove, each watching the whole portfolio, one asset class (the Allocation card’s categories — equities, crypto, bonds, gold & commodities…) or a single holding, with its own threshold (1–50%; the default is one portfolio-wide rule at 5%). Per holding the most specific rule wins — its own symbol rule beats its class rule beats the portfolio-wide one — and a holding no rule covers simply isn’t checked; when your rules differ, each alert line names the rule it crossed. The assistant can edit these too (“alert me when crypto moves 10%”); and a social feed digest of what friends posted since the last one. An optional toggle lets your own AI model (the one under Assistant) polish the digest wording — using your key, never the free budget, and falling back to the plain built-in text whenever it can’t.
On the desktop app this tab explains why there are no server-side alerts there, and houses the Offline mode switch: one checkbox that stops every outbound call the app makes on its own (licence refreshes, exchange-connector syncs, the Social and Taxes tabs, which run against the hosted server). Your portfolio, charts and history keep working from the data on your machine and cached prices keep serving — they just freeze at their last fetched values until you go back online; a local AI model keeps answering too. Fresh prices, Social, server-computed taxes, cloud AI models and alerts need the network. The licence keeps working through its normal offline grace period.
Account — sign in (hosted app only)
Create an account or sign in with email and password, sign out, or permanently delete the account (password-confirmed — it removes every row the account owns). The tab only exists on the hosted deployment; in local mode the app is single-user by definition. What an account changes about where your data lives — and what happens to data you built up as a guest — is explained in Privacy & your data.
Desktop app licence: the account page also holds a Copy licence token button — the way to activate the desktop app when its email-and-password sign-in can't serve your account: one created with Google (there's no password to type) or one with two-step verification on. Copy the token here, paste it into the desktop app's account dialog under Have a licence token instead?, and it activates with your current plan (the app renews the token by itself from then on). Accounts with a password can simply sign in on the desktop directly — or set a first password in the Password section right above, which also unlocks the direct sign-in for Google-created accounts.