Seattle, WA--:--

Vett

Behavioral fitness check for investment decisions

Role: Product Manager / UX Designer
Timeline: Apr 2026 – Present
Live: vett-three.vercel.app
Tech: Python, SQL, RAG (LangChain), LLM API, React, Figma


2 years as a wealth advisor at China Merchants Bank. 1,100+ clients. $140M under management. One pattern kept showing up: most investors don't know their own behavioral profile.

The gap between what investors think they'll do and what they actually do leads to real losses. Three mismatch patterns I saw repeatedly:

Three mismatch patterns

Behavioral finance research confirms this pattern: loss aversion makes losses feel roughly 2 to 2.5x as painful as equivalent gains (Kahneman & Tversky). Investors sell winners about 60% more often than losers (Odean).

The problem isn't that investors don't understand investing. It's that they don't understand themselves. Countless tools help you pick stocks, read charts, and analyze markets. Almost nothing helps you see your own behavioral pattern before you act.


Generated a simulated dataset of 500 investors and 8,400+ transactions. Used SQL to test whether the patterns I observed as an advisor actually hold up in data.

1. Self-assessed risk vs. actual tolerance shows systematic bias

Self-assessed vs actual tolerance

  • R1 self-raters had an average actual tolerance of 1.9 (gap: +0.9, underestimated)
  • R4 self-raters had an average actual tolerance of 3.0 (gap: -1.0, overestimated)
  • Extremes showed the largest gaps. Mid-range (R3) gap was only 0.2

2. Stated holding period vs. actual hold days are far apart

Holding period gap

  • Investors who said "5+ years" held for an average of 122 days
  • Investors who said "1-3 years" held for an average of 134 days
  • Even "3-5 year" investors averaged only 143 days

3. Panic selling and herd behavior account for over a third of all sells

Panic vs rational sells

  • Panic sells: 16.3% of all sell transactions
  • Herd-driven sells: 19.9%
  • Combined: 36.2%, nearly matching rational profit-taking at 36.0%

4. Financial literacy directly predicts external influence

Literacy vs external influence

  • Low literacy investors: 84.6% of buys were externally influenced
  • High literacy investors: 45.2%
  • Nearly a 2x difference

Product positioning: Checker, not Picker.

Vett doesn't tell you what to buy. It checks whether what you want to buy actually fits your behavioral pattern. The decision always stays with the user.

Why this direction? I considered three paths:

Three paths considered


System architecture:

System architecture

Layer 1: SQL Signal Engine. Extracts four behavioral signals from transaction history: holding period deviation, panic sell tendency, external dependency rate, liquidity conflict. Pure SQL rules, no AI.

Layer 2: RAG Knowledge Retrieval. Matches detected behavioral gaps to relevant explanations from a 16-article behavioral finance knowledge base (Kahneman, Odean, Shiller, Thaler).

Layer 3: LLM Explanation Engine. Combines Layer 1 facts with Layer 2 knowledge to generate personalized explanations. Output adapts to three tiers based on match score.

Layer 4: Guardrails. Keyword filtering, word count limits, confidence labeling. The system never crosses from checker to advisor.


Core user flow:

Core user flow
  • Onboard — 7 self-assessment questions (FINRA 2111 suitability framework)
  • Import — Start with manual entry, upgrade to CSV or account sync when ready
  • Profile — Behavioral radar chart across 5 dimensions
  • Dashboard — Fitness Score + trending products with personalized match %
  • Check — Match score + mismatch flags + AI explanation + action steps

Help investors see their own behavioral patterns clearly. Every conclusion is based on authorized data and observable facts. A mismatch is information, not failure.

Voice principles:

  • Say "your data shows," not "you should"
  • Describe patterns, never label people
  • Mismatch outputs must end with solutions, never with problems
  • Express probability, not certainty

Three-tier output:

Three-tier output strategy

Guardrails (9 red lines): No buy/sell recommendations. No price predictions. No return guarantees. No unauthorized data. No urgency language. No condescension. No negative labels. No judgment on past decisions. No tax or legal advice.


1. Check only. No buy/sell recommendations. The moment you recommend, you need a license. Staying as a checker means no regulatory risk, no conflict of interest, and higher user trust.

2. Behavioral data over self-assessment. The whole product premise is "what you say ≠ what you do." The questionnaire sets a baseline. Transaction data reveals the truth. The gap between them is the product.

3. SQL and AI stay in their lanes. Structured signals run through SQL rules. Unstructured knowledge runs through RAG. This keeps the data layer auditable and reproducible.

4. Fitness check over market analysis and portfolio health. Behavioral fitness checking is the most differentiated entry point with the lowest regulatory risk.

5. Progressive trust. Don't ask for brokerage access on day one. Let users enter a few trades manually, experience the value, then upgrade.


Design principle: Color is information, not decoration.

90% of the interface is black, white, and gray. Color appears only to communicate status: teal for fit, amber for caution, coral for mismatch.

Color systemType system

APP Onboarding → Profile → Dashboard → Check flow

App screen 1App screen 2App screen 3App screen 4App screen 5App screen 6App screen 7App screen 8

WEB Advisor View: client portfolio overview and behavioral analysis

Advisor web 1Advisor web 2Advisor web 3Advisor web 4

1. Real domain experience is the scarcest ingredient in AI products. Most AI finance tools train on public market data. They don't know how real users misbehave with real money. Vett's advantage isn't the tech stack. It's that every hypothesis traces back to patterns validated across thousands of real client interactions.

2. Checking is harder than picking, and more valuable. Not recommending looks like a constraint. It's actually the strongest product advantage. No conflict of interest means users trust what you tell them.

3. Tone matters more than features. Telling a user "this doesn't match your pattern" can feel like help or judgment, depending entirely on how you say it. The prompt engineering took more time than any single feature, and it was the most worthwhile investment.