TobieYucheng Feng · 冯渝程
← All work

Industrial Securities · 兴业 SMT2022–23In-house · securities software

Make a securities interface reusable.

At Youpin Wealth, I worked with colleagues to break down business modules, then designed and maintained the relevant Figma components and specifications.

Context
Youpin Wealth · Industrial Securities SMT
My role
Component design, specifications & maintenance
Collaboration
Collaborative business-unit decomposition
Delivery
Figma components & guidelines
SMT-MAX · assets & positions workspaceOriginal screen
SMT-MAX assets and positions screen

01 · The challenge

A table carries a task, not just data.

A securities tool brings accounts, markets, positions, values and actions into a dense working surface. Visually similar controls can have very different consequences, so component boundaries cannot be based on appearance alone.

The aim was to reduce repeated interface construction while preserving business meaning. I researched component-library methods and business-unit decomposition with colleagues, then developed the relevant structures into components and guidelines.

Context

Which account?

Account and market context determine how the data should be understood.

State

What is happening?

Default, selected, hover and no-data states need distinct feedback.

Action

What can I do?

Each action belongs to a task and must retain its business meaning.

02 · Decomposition

Use business meaning to decide what can be shared.

For account positions, the table, account context and controls can become reusable units while keeping their relationships explicit. A shared structure only works when its meaning and behaviour match.

My responsibility included the relevant component design, usage specifications and ongoing maintenance. Where tasks have different rules, preserving those differences matters more than forcing consistency.

Tobie’s note

A component boundary is also a product-design decision.

03 · States

Let state change without moving the reading structure.

The source “Table / Account Positions” component includes default, selected, hover and no-data variants. Feedback needs to explain what changed while keeping information position and reading order stable.

The specification therefore addresses both appearance and behaviour across situations. Consistent state definitions also give maintenance work a shared reference.

SMT · Table / Account Positions componentRebuilt 1:1 from source
SMT-MAX — 资产 / 持仓
持仓
序号证券代码证券名称持仓数量可卖数量成本价最新价市值盈亏金额盈亏比例(%)今日买入今日卖出市场资金账户姓名
1000001平安银行2500250059.06040.110623,311.23−1623.31−24.1320002000沪A200000026李永
2000811冰轮环境25002500192.440109.130962,211.20−1,123.13−10.21600600沪A200000026李永
3002030天奇股份140014002.4402.8602,222,211.20141,123.1310.21600600沪A200000026李永
4002031达安基因140014002.4402.8602,222,211.20141,123.1310.21600600沪A200000026李永
5600000浦发银行10000010000012.00034.17061,506,000.00399,021,131.00341.0000沪A200000026李永
6600036招商银行118001180010.23034.17061,506,000.00399,021,131.00341.0000沪A200000026李永
7600070浙江富润1133100113310010.2305.530506,000.00−511,233.00−80.0000沪A200000026李永
上证指数 3000.21 +120.21 +8.21%Sample data from the source file
The four states documented in the source
Tobie’s note

Default row: white, 1px dividers. Column order is reading order — identify the security, compare position with current value, then read profit and loss.

You can also hover and click rows directly.

A code replica of the “Table / Account Positions” component: columns, values, colours (gain red #DF3537, loss green #1D9920, selected #F1F4FF, hover #E5E6E9) and row height are taken from the source screenshots. Values are the source file’s sample data; nothing connects to an account or market feed. The search field’s behaviour is not defined in the component, so only its appearance is kept.

Source crop · row statesOriginal screen
The source crop the replica follows (default, selected, hover); the no-data variant keeps the row height in the source.

04 · Specifications & maintenance

Share the structure; preserve the meaning of the action.

Buy, sell, confirm, cancel and input controls have related structures, but are not the same action. I maintained components and specifications to give repeated modules a consistent foundation while preserving these distinctions.

The components supported cross-project reuse and day/night theme adaptation. These experiences demonstrate a qualitative maintenance benefit; historical time savings were not measured.

Trading controls and variants · library sourceOriginal screen
Buy has 3 states and sell has 6 (selected, focused, unselected, with or without a badge). This is my component scope, not sole ownership of the securities product.

05 · Outcome & reflection

A reusable design foundation starts with clear boundaries.

The delivery was Figma components, usage guidelines and maintenance. I contributed to the shared method research and business decomposition; software implementation was outside my responsibility.

To evaluate this approach further, I would compare repeated-module assembly time, omitted states and the effort needed to carry a change across instances. These measures would show more concretely whether reuse helps the team.

Source: Figma project file ↗ · Access follows the source file’s sharing settings.