Surfaces
Felix turns everything a user owns into plain-English guidance they act on themselves. This page is how the product is laid out — a map of the surfaces and how they relate, not a spec.
The model
The spine, in one line: the user browses a few places, acts on what Felix surfaces, and chat runs across all of it. What needs attention, Felix surfaces — the user doesn't go hunting.
Three kinds of surface:
- Places to browse. Home, Portfolio, Markets — current state and the world. Portfolio has two sides: the user's active holdings and the plan, their model portfolio.
- Actions. What Felix surfaces for the user to act on.
- Chat. Persistent across every surface — and where past chats live.
And one more thing the product needs: onboarding. Like any wealth manager, Felix starts by getting to know the user — and for the MVP that means one job: building their model portfolio. A guided experience (chat or its own flow is still open) that asks what a planner would — age, when they want to retire, and so on — and turns the answers into the plan that lives in Portfolio.
Where anything belongs
A thing the user looks at goes to a place to browse. A thing Felix surfaces to act on goes to Actions. A question, anytime, goes to Chat. The plan is set in onboarding and lives in Portfolio.
The discipline
The user is never handed a console of tools to operate. Felix surfaces what needs attention — on Home — or the user asks.
The surfaces
Home — the briefing
Leads with three things. Are things okay: net worth, the move this week — with toggles for day, month, YTD, and year — and a one-line status. What needs attention: one to three items — a drift breach, a pending recommendation, a tax deadline, a broken connection — and shows "you're fine" when nothing does. What happened: movement plus news filtered to the user's holdings, a few lines. And a way into chat. Home deliberately leaves the full holdings table, the whole news feed, and every chart one tap down.
Portfolio — holdings and the plan
Two sides to Portfolio. Active holdings: every account and holding; drill into any. Analysis and X-ray — allocation, drift versus target, concentration, look-through exposure, fees, performance (XIRR and time-weighted) — and the same lenses scoped to a single holding. The plan: the user's model portfolio, the target allocation built in onboarding. Drift is the active holdings measured against it, and the plan is the source of truth the rest of the product works from.
Markets — the world, contextualized
The user's watchlist, market and sector news, and search to any ticker — the world, but contextualized to what the user holds and watches. The ticker page is shared with Portfolio, owned or watched: price, fundamentals, news tagged to it, the user's position if held — with Felix's read on what that news likely means for the position — and a weekly "what's the story" digest. The user can open a chat from here.
Actions
What Felix surfaces for the user to act on — recommendations drawn from the gap between the plan and the actual holdings, from market insights, and from the news. The user accepts or dismisses each; an accepted one is acted on at their brokerage, and the outcome reconciles at the next sync, scoring the advice over time. Anything actionable that comes out of a chat lands here too.
Chat
A persistent surface, on every screen — and the place past chats live, to reopen or continue. The user can ask anything over their own numbers and relevant news, from wherever they are; chats are the agent that does the research. Incognito chat (ephemeral — nothing persisted, embedded, or logged) and guided chat workflows are later additions, deferred past the first design.
Onboarding
The setup a wealth manager would run, narrowed for the MVP to one outcome: the user's model portfolio. A guided experience — whether it's chat or its own flow is still to be decided — that asks what a planner would (age, target retirement, risk, constraints) and turns the answers into the plan that lives in Portfolio. It's where the source of truth comes from.
The MVP
The first release is a tight cut: the three places to browse (Home, Portfolio, Markets), onboarding that builds the model portfolio, and the two surfaces the user lives in — Actions and Chat — feeding each other.
Onboarding builds the model portfolio
Before anything else, onboarding figures out the user's model portfolio. A guided experience — chat or its own flow is still open — that asks age, when they want to retire, risk tolerance, and constraints, and turns the answers into a target allocation. That model portfolio becomes the plan in Portfolio, and the source of truth everything is measured against.
Actions and Chat, bidirectional
The MVP gives the user two surfaces, and they feed each other.
- Actions is what Felix surfaces — drawn from the gap between the plan and the actual holdings, from market insights, and from the news. Every surfaced action lands here to accept or dismiss.
- Chat is what the user drives. They kick off a chat to research something specific, and anything actionable that comes out of it can be added straight to Actions. Chat is the agent that does the research — there is no separate trade agent.
It runs both ways. Research in a chat can create an action; and any action Felix surfaces can open a chat — if the user has a question about a recommendation, they start a chat from it. Actions ⇄ Chat is the core loop of the MVP.
What waits — MVP++
After the MVP, chats gain guided workflows: opinionated, step-by-step flows that drive the conversation. Want to research a stock? Felix walks through every step worth taking — a more opinionated chat than the open-ended one — the same way onboarding guides the model portfolio today. Chats are still the agent; MVP++ just makes them more opinionated.
How they connect
- Onboarding builds the model portfolio; it lives in Portfolio as the plan — the target and the drift — and is the source of truth the rest of the product works from. Edited later by asking chat ("bump equity to 70%") or by hand.
- Actions are insights-based, never user-initiated through a launcher: Felix surfaces them from the plan-versus-actual gap, market insights, and the news. Tax-loss harvesting, rebalancing, and the rest are condition-triggered one-shots Felix raises — a drift breach, tax season. If the user wants to start something Felix hasn't surfaced, they do it through a chat.
- The user can open a chat themselves, and Felix can invite them in — opinionated, not a nudge: "NVDA beat earnings on strong datacenter demand. Worth looking at NVDA and its peers in the space — let's dig in." Anything actionable from a chat becomes a recommendation in Actions — the pipeline from Chat to Actions.
- News routing: the user's holdings go to Home and the holding; the wider world — everything, the user's holdings included — goes to Markets.
The rule
Whatever produces something, the output lives where it's used — the plan in Portfolio, recommendations in Actions — decoupled from the chat or onboarding that made it.
What's deliberately left out
- No console of buttons to trigger actions — that puts the burden of knowing when back on the user. Felix surfaces instead.
- "What can Felix do" is a question for chat, not a launcher.
- User-defined custom workflows are deferred.