Fugle's interface speaks the language of precision and calm confidence.
Needs work: conflict unresolved · freshness conflict · token source unverified · verification v2 missing
Taiwan's visual-first stock research and trading platform, built by investors for serious investors.
Fugle's interface speaks the language of precision and calm confidence. A predominantly light, near-white canvas — #f5f5f5 for secondary surfaces, #ffffff for foreground containers — keeps the dense data of Taiwan equity markets easy to scan without overwhelming the eye. Against this quiet ground, the brand's signature amber #f4af1c appears sparingly but unmistakably: loading indicators, live-chat buttons, version badges, and chart reference lines all carry the same warm gold tone. The dark theme inverts the arrangement, dropping to a near-black #131313 base with #323232 surface layers, letting red and green trading signals pop with strong luminance contrast. Two modes share the same structural rhythm — compact rows, 4 px and 8 px radii, tight 12–14 px body type — giving both themes an identical sense of discipline and information density appropriate to active trading.
#f4af1c — primary brand color; loading spinners, live-chat button, version badges, chart line accent, primary CTA background#e49b00 — hover state for primary buttons (--p60), icon fills on emphasis#fef4cf — soft background for amber-highlighted content areas (--p20)#4c85a0 — secondary interactive elements, link text default (--s, --color-neutral-link-50)#36708c — secondary blue hover (--s60)#ffffff — card backgrounds, modal surfaces, --color-neutral-00-white#f5f5f5 — page backgrounds, hover fills (--color-neutral-04)#eaeaea — dividers, default strokes (--color-neutral-08)#dfdfdf — emphasized borders (--color-neutral-13)#8b8a8a — muted labels, helper text (--color-neutral-46)#323232 — primary foreground text (--color-neutral-80)#131313 — dark-mode primary background (--color-neutral-93)#f3746d — stock price rise in light theme (TW convention: red = up)#6c9c46 — stock price fall in light theme (TW convention: green = down)#d12a2a — system errors, form validation (--color-red-600)Fugle uses Lato (via Google Fonts) as the Latin character family across the main web trading platform, complemented by Noto Sans TC and Microsoft JhengHei on the developer documentation portal for Traditional Chinese text. The Material Icons font handles iconography throughout.
Body text runs at 14 px / normal weight for dense data rows, 12 px for secondary labels and timestamps, and 16 px for modal body copy and form inputs. Section headings use 20 px / 700 in dialogs, and data highlight values reach 18–24 px. Line heights are kept tight to maximize data density — approximately 1.4–1.5× for multi-line text. Font weight vocabulary: 400 for body, 700 for emphasis and headings. No custom variable fonts detected.
Amber CTA (e.g. "開始交易")
#f4af1c#ffffffAmber CTA Hover
#e49b00#ffffffDefault Search / Trade Input
#eaeaeaInput Group (with label)
#eaeaeaDefault Stock List Item
#ffffff#eaeaeaHovered Stock Row
rgba(0,0,0,0.04)Surface Card (e.g. fugle-trade-box)
#ffffffInfo Card (e.g. watchlist-stock__box)
#eaeaeaDialog Container
#ffffffVerified: 2026-06-03
Tier 1 sources: https://www.fugle.tw (HTML, inline CSS, manifest.json), https://dk91kmsnfr6kg.cloudfront.net/desktop/assets/fugle-desktop.d5b14f507dc94191ea072af78696b931.css, https://dk91kmsnfr6kg.cloudfront.net/desktop/assets/chunk.ac7daef9fdaa5882212c.css, https://developer.fugle.tw/assets/css/styles.46d8cd92.css, https://apps.apple.com/tw/app/fugle/id1542310263
Tier 2 sources: getdesign.md/fugle — No designs found for "fugle". refero — no TW/Fugle results expected.
Conflicts unresolved: HTML theme-color is #f4af1c; PWA manifest theme_color is #fbcc67 (a lighter amber). The CSS custom property --p and developer portal's --ifm-color-primary both canonically define #f4af1c; the manifest value is likely a PWA splash-screen approximation. Primary recorded as #f4af1c.
Fugle's web trading platform is a dense multi-panel grid. The header is fixed at 50 px height. A left sidebar watchlist panel (configurable width via --watchListWidth) sits beside a scrollable main canvas. The trading panel (--tradingWidth) expands from the right edge. The main content container caps at 1508 px max-width for standard market views, but trading views use max-width: initial for full-bleed chart display. Column grids follow Bootstrap-compatible breakpoints: 576 px (sm), 768 px (md), 1280 px (lg), 1440 px / 1680 px (xl variants for watchlist density). Card grids use CSS grid with responsive repeat(N, 1fr) columns that scale from 2 up to 5 columns depending on viewport.
Fugle uses a layered shadow system that signals interactive hierarchy without dramatic depth:
box-shadow: 0 2px 2px 0 rgba(0,0,0,.08), 0 2px 7px 0 rgba(0,0,0,.1)box-shadow: 0 0 24px 0 rgba(0,0,0,.08)box-shadow: 0 0 17px 0 rgba(0,0,0,.14), 0 8px 9px 0 rgba(0,0,0,.12)box-shadow: 0 8px 10px 1px rgba(0,0,0,.14), 0 3px 14px 3px rgba(0,0,0,.12), 0 4px 15px 0 rgba(0,0,0,.2)box-shadow: 0 4px 8px -4px var(--color-component-web-frame-shadow-default), 0 8px 16px -4px var(--color-component-web-frame-shadow-default) — rgba(0,0,0,0.08) in light, rgba(255,255,255,0.08) in darkDark mode shadows use white-alpha variants to create the inverse glow effect. No z-index-heavy stacking unless modals are active.
#f4af1c amber as the single primary CTA color across light and dark modes#f3746d) for rising prices and green (#6c9c46) for falling prices — follow Taiwan Stock Exchange convention, opposite of Western norms#ffffff) in light mode and dark (#131313) in dark mode; always separate with subtle border #eaeaea rather than heavy shadowsborder-radius: 4px uniformly to buttons, inputs, and cards; reserve 8px for highlighted info boxesrgba(0,0,0,.08) layered shadow is intentionalThe platform targets desktop-first (min 1024 px canvas) and degrades gracefully to tablet. Breakpoints mirror Bootstrap: 576 px, 768 px, 1280 px, 1440 px, 1680 px. The watchlist sidebar collapses on narrow viewports. The trading panel (--tradingWidth) is hidden by default and slides in over the canvas on demand. Card grids scale: 1 column below 576 px, 2 columns at md, 3–5 at xl depending on feature area. Mobile is covered by the native iOS/Android app (Fugle app id 1542310263), which shares the brand's color and typography tokens but uses a card-based vertical scroll layout optimized for thumb navigation.
When building Fugle-style interfaces:
#ffffff) or light-grey (#f5f5f5) canvas, dense 12–14 px body text in Lato, no decorative imagerybackground #f4af1c, white text, 4 px radius, no visible border, hover to #e49b00min-height 55px, border-bottom 1px solid #eaeaea, hover rgba(0,0,0,0.04) background#f3746d / #6c9c46 in light modeborder-radius 4px, box-shadow 0 2px 2px 0 rgba(0,0,0,.08), 0 2px 7px 0 rgba(0,0,0,.1), no borderheight 32px, border-radius 4px, background #eaeaea, font-size 16px0.2s cubic-bezier(.4,.6,.2,1) for most UI state changes#131313 / #222222 surfaces; keep #f4af1c amber unchangedFugle's voice is precise, empowering, and peer-to-peer — a fellow investor who happens to have built better tools, speaking directly to another serious investor.
| Dimension | Do | Don't |
|---|---|---|
| Register | Conversational but expert; uses financial terminology naturally | Dumbed-down language or over-explaining basics |
| Stance | Equal peer — "we research too" | Corporate authority — "our platform provides" |
| Framing | Research space, decision clarity, serious purpose | FOMO urgency, get-rich language, hype |
| Sentence length | Short to medium; punchy declaratives | Long compound clauses |
Voice samples (illustrative, modelled on App Store copy tone):
Fugle (富果, "rich harvest") was founded in Taiwan by Fortuna Intelligence, a team that describes itself as being simultaneously developers and practicing investors who watch the markets daily. The animating frustration was the poor quality of existing retail trading interfaces — dense, noisy, built around brokerage workflow rather than investor research workflow — and the refusal to accept that as the only option.
The platform launched as a web trading app paired with a market data API, positioning itself at the intersection of fintech and developer tooling. The developer portal (developer.fugle.tw) made real-time Taiwan stock data accessible via clean REST and WebSocket APIs, partnering with Fubon, Taishin, and E.Sun securities to offer actual order execution. This dual strategy — beautiful research UI for investors, clean API for developers — reflects a philosophy that serious financial tools should meet users where they are, whether at a trading terminal or a code editor.
Today Fugle frames its mission around a simple belief: "認真的投資人值得更好的工具" — serious investors deserve better tools. The product is designed not to compete with professional Bloomberg terminals or to simplify investing into a game, but to occupy a deliberate middle ground: rigorous, visual, and genuinely pleasant to use for hours of research.
Data clarity over data density. Every number on screen should earn its place. When a display becomes crowded, the answer is smarter information architecture — heatmaps, visual cards — not smaller type. UI implication: use whitespace and visual hierarchy in card layouts rather than cramming more data into fewer pixels.
Investor perspective, not brokerage perspective. The interface is organized around how an investor thinks (by thesis, sector, comparison) not how a brokerage processes orders. UI implication: watchlists, custom research cards, and side-by-side comparisons are first-class features; order ticket is secondary until the user is ready to transact.
Amber signals action. The brand's single accent color is reserved for interactive moments — loading, primary buttons, live notifications. Overuse dilutes the signal. UI implication: no decorative amber, no amber text, no amber borders; only amber fills on actionable elements.
Both modes are production-quality. Light mode for daytime research, dark mode for active trading sessions — neither is an afterthought. UI implication: every component must be spec'd for both themes with equal care; dark mode uses near-black surfaces, not grey.
Serious tools should still feel fast. Transitions are tight (0.2 s) and purposeful. Animation is reserved for loading states and layout expansions, not decoration. UI implication: use cubic-bezier(.4,.6,.2,1) easing on state changes; avoid entrance animations on data rows.
Illustrative — not based on published Fugle user research.
Illustrative: The Research-First Investor (個人投資者) Mid-career professional, 35–50, investing personal savings in Taiwan equities. Spends evenings building sector maps and comparing fundamentals across 5–15 stocks. Values clarity and speed; deeply annoyed by noise. Uses Fugle's custom card layout to structure a personal research SOP.
Illustrative: The Developer-Investor (開發者投資人) Software engineer in their late 20s–early 40s who approaches investing algorithmically. Builds personal screeners using Fugle's marketdata API. Values API quality, documentation clarity, and free-tier access for prototyping. Attracted by the developer-friendly portal and Noto Sans TC-styled docs.
Illustrative: The Active Trader (短線交易者) Experienced retail trader who watches intraday tick data and uses the dark theme during market hours. Needs every pixel to serve a function. Relies heavily on the watchlist panel and real-time price update animations. Irritated by anything that obscures the bid/ask spread display.
Illustrative: The Student Investor (學習型投資人) University student or new entrant to Taiwan equity investing, 20–28. Discovered Fugle through a campus or online investing community. Drawn to the clean visual design compared to legacy broker platforms. Starts with the mobile app and explores web tools as confidence grows.
#f4af1c bouncing dots (border-radius 50%, 11 px, lds-ellipsis animation at 0.6 s cubic-bezier(0,1,1,0)); used both on initial page load and in-panel data refresh#8b8a8a; no modal interruption; retry link styled as secondary text link#d12a2a (--color-red-600); error message appears below field at 12 px muted red#6c9c46 checkmark icon; auto-dismisses after 3 s without blocking interactionplaceHolderShimmer keyframe, 500 ms interval defined in loadingDelay); uses #eaeaea animated gradient across content areasbackground-color rgba(0,0,0,.12), color rgba(0,0,0,.26), box-shadow none, cursor not-allowed; no amber used on disabled stateDuration scale:
Primary easing: cubic-bezier(.4,.6,.2,1) — Fugle's signature curve, used on layout transitions, header animations, and most interactive state changes. It has a sharp initial acceleration (the .6 control point) and a gentle deceleration that gives the UI a confident, purposeful feel.
Secondary easing: cubic-bezier(0,1,.5,1) — used for panel reveal/collapse; starts slow and exits fast, creating a "snap open" character.
Loading animation: cubic-bezier(0,1,1,0) — the bouncing dot easing; exaggerated overshoot gives the brand's only playful motion moment.
Rules:
0.2s or less; never animate data values themselves--layoutDuration CSS variable with the primary cubic-bezier curveFugle's interface speaks the language of precision and calm confidence. A predominantly light, near-white canvas — #f5f5f5 for secondary surfaces, #ffffff for foreground containers — keeps the dense data of Taiwan equity markets easy to scan without overwhelming the eye. Against this quiet ground, the brand's signature amber #f4af1c appears sparingly but unmistakably: loading indicators, live-chat buttons, version badges, and chart reference lines all carry the same warm gold tone. The dark theme inverts the arrangement, dropping to a near-black #131313 base with #323232 surface layers, letting red and green trading signals pop with strong luminance contrast. Two modes share the same structural rhythm — compact rows, 4 px and 8 px radii, tight 12–14 px body type — giving both themes an identical sense of discipline and information density appropriate to active trading.
Do and Don't guidelines parsed from DESIGN.md.
Do
Don't