Role

Senior Product Designer

Sr. Product Designer

Team

Frontend Engineer

Frontend Engineer


Duration

~3.5 months · 2025

Status

Shipped · Live

One settings system for 12 widgets

One settings system for 12 widgets

I turned fragmented settings across TakeProfit into one reusable system of typed rows. New settings can now be assembled in a couple of hours, often without a designer.

Problem

All widgets on trading platform had separate settings implementations, so every new one had to be designed and built from scratch

TakeProfit is a modular trading platform where every widget needs its own settings.

Users build their workspace from widgets such as charts, watchlists and order forms. The chart also includes indicators and 44 kinds of drawing tools, each with settings of their own.

The same parameters looked and behaved differently across the product. Some controls were not reusable components at all, while some parameters users needed were not exposed.

Impact

Settings became automatic for indicators and backtesting, and dropped from 3–4 days to 2–3 hours for other widgets

Today, all 12 widgets use the system. New widgets use the same reusable rows instead of getting their own settings implementations, and products like the Order Form and Market Depth adapted the same foundation to their needs.

For indicators and backtesting, settings are generated automatically from their parameters. For other widgets, a developer can assemble settings by choosing the rows needed for each parameter, reducing the work from 3–4 days to 2–3 hours and often removing the need for a designer. A new chart display type was also added later without changing the underlying system.

Automatic

to generate settings for
indicators & backtesting

2–3 h

instead of 3–4 days
for other widgets

44

drawing kinds migrated

5 → 12

widgets

Solution

I found the same parameter types repeating across different settings and turned them into ~40 reusable rows

I audited existing settings and spoke with widget teams about current and future requirements. Instead of designing screens separately, I built the system around reusable parameter rows that could be combined for different widgets.

Fixed rows keep the system consistent, while flexible composition lets each widget stay different

Each row contains the control and the actions it needs, such as reset or visibility. Sections, visibility rules and shared footer actions work consistently across settings panels

Process

I worked with one frontend engineer to build the system from the most complex settings outward

I worked closely with one frontend engineer throughout implementation, reviewing what was already built and making decisions together about how the rows should work and combine in code.

We started with indicators because they covered the widest range of parameter types. Once the shared rows worked there, we moved to the chart and other widgets. Drawings came last, because settings for all 44 drawing kinds had to be migrated onto the new system.

The design took about six weeks and implementation about two months.

Ann Latu · Product Designer

anna.latukhova@gmail.com

Ann Latu · Product Designer

anna.latukhova@gmail.com