Investo stock trading app UI design

Investo set out to be the first Mongolian app where you could buy a share on the Mongolian Stock Exchange and a share of Tesla from the same screen, with live prices and a 1.5 percent commission. I designed the app that shipped, the update that followed, the component library under both, the landing page, and the deck the founders raised on. Three hundred and fifty-nine screens, all of them dark.1

Role
Product design, design system, landing page, investor deck
Client
Investo, a Mongolian fintech start-up
Scope
Version one as shipped, version two update, components, landing page, 21-slide pitch deck
Years
2022 to 2023

Trading for the other 88 percent

The founders’ deck opened with a number I kept pinned above the file: only 12 percent of Mongolians say they understand the stock market. The people who do trade are mostly over forty, go through a broker, and move about 70 million tugrik at a time. Investo wanted the person who is 25 to 40, has never called a broker, and has 15 million to put somewhere better than a deposit account.2

A navy slide from the investor deck headed, in Mongolian, the situation and future of participants in foreign trading. Two grey cards. Before Investo: broker-dependent, over 40, low trading frequency, average trade 70 million tugrik, 17,500 citizens, cannot decide alone, does not read analysis. After Investo: broker-independent, 25 to 40, high frequency, average trade 15 million, 50,000 people, decides alone, reads analysis.
The slide that set the brief. Left is who trades today, right is who I was designing for.

That person needed two things at once. An app that does not look like a bank, because the bank apps had already lost them. And an app that quietly teaches, because most of what they would see on screen, order books, earnings per share, limit orders, they had never met. I made both of those design principles before I drew a screen.

A home screen that leads with the market

Version one home, a long dark screen. A greeting with the user's name, a banner headed Dividend Stock asking what it is, three shortcuts for account top up, watchlist and order, then cards headed stocks you own and stocks you watch, each a small tile with ticker, price and change, and a news feed of articles with thumbnails. Version two home. A promo banner offering the first 1,000 customers a free trading account, shortcuts for top up, watchlist and IPO, tabs for all, decreasing, increasing and ratio, then a list of foreign tickers, Amazon, Apple, Tesla, Nvidia, Microsoft, Meta, each with a logo, a red or green sparkline, a price and a change, followed by a Watchlist section in the same format.
Version one on the left, the update on the right. The second home opens on prices, because that is what a trader opens an app for.

I built the shipped home as an onboarding device as much as a dashboard. The first card explained what a dividend stock is. The cards below it showed the stocks you own and the stocks you watch as tiles, and a news feed ran underneath, because a first-time investor reads before they buy.

By the update I had usage to look at, and the update leads with the list. Foreign tickers, sparklines, price and change, then the watchlist in the same format. I kept one promotional banner at the top and moved the teaching into the places it was needed, which I will come back to. The tab bar went from five items to four, because Watchlist had become a section of Home rather than a destination.

Reading a Mongolian stock in one glance

Every list in Investo is built from one row, and I spent more time on that row than on any screen. Logo, ticker and company name, a sparkline of the day, the price and the change. Green up, red down, grey flat, and never any other colour in the list, so the eye can scan for colour before it reads a number.

Top 20I ангилалII ангилал
AIC
AICАрд Даатгал
1478 ₮-1.14%
APU
APUАПУ
740.18 ₮-0.57%
BDS
BDSБи ди сек
1000 ₮+5.26%
BNG
BNGБаянгол зочид буудал
23900 ₮0.42%
BODI
BODIБодь Даатгал
130 ₮-0.76%
GOV
GOVГовь
237.92 ₮-0.94%

The row, rebuilt here from the file’s tokens with the prices that were in my wireframes. The three filters are how the exchange itself sorts its companies.3

The stocks screen. A search field, filter pills for Top 20, tier one and tier two, then the Top 20 list of Mongolian companies with logos, tickers, names, red and green sparklines, prices and changes, followed by tier one and tier two sections. A stock detail for Mandal Insurance, ticker MNDL. Price 93.87 tugrik up 0.79 percent, tabs for chart, overview and news, a green area chart with a time scrubber and a highlighted hour, period pills from one hour to all, average, low and high figures, an order book in green and red columns, and buy and sell buttons. The version two stock detail with a dark sheet over it headed Earnings per share, explaining in Mongolian that EPS is the company's profit divided by its shares and that companies report quarterly, with a green Close link. Behind it, a statistics grid of open, volume, high, low, market cap and P/E ratio.
The list, the detail with its order book, and one of the explainer sheets. Tap any term you do not know and it tells you.

The detail screen is where I put the teaching. In the update every statistic on it, EPS, P/E, market cap, is a tap away from a plain-language sheet in Mongolian, and I wrote a pair of sheets headed advantage and disadvantage for each company so the analysis the deck promised actually appears next to the number it explains. The order book sits below the chart in the same green and red as everything else, because a first-time trader should meet it as a picture before they meet it as a concept.

Buy in three taps, cancel until I say so

The trade screen for MNDL. Buy and sell tabs with buy selected, available balance 999,000 tugrik, a segmented control for market or limit with limit selected in blue, then fields for price per share 93.87, quantity 2,150, fee 1.5 percent, total 300,000.87, and a green Buy button. A sell confirmation. A yellow warning triangle, total 200,000 tugrik, quantity 4,853, price per share 41.21, fee 1.5 percent, a line reading expiry condition, until I cancel, and a red Sell button. The orders screen with tabs for open and filled. Each row is a limit buy for MNDL with a ring showing the filled percentage, 70 percent on the first and zero on the rest, the amount and price, a timestamp, and a cancel button.
Order, confirm, and the open orders with how much of each has filled.

I kept the order form to what a person has to decide: buy or sell, market or limit, how many, and the total with the fee already inside it. The price field repeats at the bottom as a dropdown so a limit order can be adjusted without scrolling back up. Buy is green, sell is red, and the confirmation screen for a sell puts a warning triangle above the figures because selling is the tap people regret.

The line I am most pleased with is the expiry: Намайг цуцлах хүртэл, until I cancel. The finance term is good-till-cancelled. Nobody outside a brokerage says that, so the app does not either. The orders list then shows each open order as a ring that fills as the exchange fills it, so a partial fill is a picture and not a percentage you have to interpret.

Everything else a broker does

Version one portfolio. Trading account 1.5 million tugrik, total stock value 200,100 up 15.10 percent, a bubble chart of holdings with MNDL at 50 percent in a large white circle and AIC and LEND in smaller grey ones, then a list of holdings. Version two portfolio. Trading account 39.4 million with top up and withdraw buttons, total 250,000 up 1.5 percent, tabs for stocks, government securities, bonds, funds and crypto, the same bubble chart by asset class, and holdings below. The IPO list. A line saying you can follow, invest in and track the latest IPOs on the Mongolian Stock Exchange, tabs for open and closed, and cards for a Golomt Bank offering with unit price 250, total raised 5 million on a progress bar, start date, days left and end date. A biometric prompt. Fingerprint and face icons in rounded squares, the question turn on biometric login, a line explaining that face or fingerprint can be used to enter the app, a green Turn on button and a Skip link.
Portfolio in both versions, the IPO list, and the biometric prompt from the update.

I let the portfolio grow the way the company did. In version one it was a bubble chart of stocks. In the update the bubbles are asset classes, stocks, government securities, bonds, funds and crypto, because by then the roadmap had more than shares on it. I kept the bubble chart rather than a donut because a bubble that is half the screen says “most of your money is here” faster than any legend.

Under those sit the screens nobody puts in a portfolio and everybody uses: a four-step KYC with the progress drawn as segments, deposit and withdrawal, notifications, a profile, and an IPO list where a live offering is a progress bar with a countdown. The biometric prompt came in the update, after the first version taught us how often people log in.

Black, three greys, one green

I put the whole app on true black, with one grey for surfaces and three for content. There is a single green and a single red, and I gave them nothing to do except mean up and down, buy and sell. Every other signal is a grey. That is the entire palette, and it is why 359 screens still look like one product.

Tokens as named in the file, Investo/Core

Background#000000
Surface#1F1F1F, backgroundSecondary
Content primary#E2E2E2
Content tertiary#757575, with #AFAFAF between
Green#49CB67, up and buy
Red#E43E2B, down and sell
Success#06BA63
Limit#3B7DED, the one blue, for the limit toggle

I set the type in Roboto in eight roles, each with a Mongolian and an English specimen on its card so the Cyrillic never surprises anyone at build time.

Display and Heading
Bold. The balance, the price, a screen title.
Label and Paragraph
Regular. Field labels, explainer sheets, news.
Button and Caption
The one place I allow all caps, and the smallest thing a finger should read.
Overline and Number
Section eyebrows, and a tabular figure set so columns of prices line up.
The components page, dark. Text inputs in four variants across the top, standard, with icon, with caption and both, each in states initial, active, typing, filled, disabled and success in green and error in red, and below them text areas in the same states.
Every input state, drawn once. Success and error are the only times the field border takes a colour.

The deck and the landing page

At a start-up I end up designing the company as well as the app. I laid out the 21-slide deck the founders took to investors, and the table I built for it is the clearest statement of what Investo was for.

InvestoGolomt CapitalTDB Capital
PricesReal time30 to 120 second delayReal time
Mobile appYesYesNo
Commission1.5%2%2%
Foreign trading in the appYesNoNo

The deck’s own comparison, redrawn. The brokers’ figures are the founders’ claims, not mine.4

A navy slide headed Roadmap with a timeline of three points: April 2023, Interactive Brokers; September 2023, social trading; November 2023, MSE launch. A navy slide headed, in Mongolian, what have we done so far. Six logos with captions: the Investo app icon for mobile app and admin dashboard, Lifetime Investment for a brokerage partnership, the Mongolian Stock Exchange for a fibre connection, the Central Securities Depository for an API connection, Gmobile for a server in its data centre, and Interactive Brokers for a test connection.
Two of the 21 slides. I kept the deck to navy, white and the brand green so the app screenshots inside it did the selling.
A long marketing landing page in green and white. A hero reading invest in your future with a phone showing the app, a section on domestic trading with a map of Mongolia and a phone, a section on foreign trading with a world map and tickers for Tesla and Nvidia, a green band asking why Investo with six benefits around a phone, an IPO section with a laptop showing the admin dashboard, an FAQ, contact cards, a team block with portraits, and a QR code to download.
The landing page. Domestic trading, foreign trading, why Investo, IPO, and a QR code at the end, in that order.

What a trading app taught me

A trading app is a list and a form, and everything else is trust. The list has to be scannable by colour before it is readable by number. The form has to contain every decision and nothing else. And the trust comes from the small things: a warning above a sell, an expiry written in the words a person would actually say, a sheet that explains EPS the moment you wonder about it.

I also learned to design the second version while shipping the first. The tab bar, the home screen and the portfolio all changed between the two, and every change came from watching what people did with the first one. The system underneath did not have to change at all, which is the part I would point a hiring manager to.


  1. Screen counts from the Figma file: 52 phone frames on the Master page, 114 on the Update page and 193 on the Process page. The Master page is stamped App ver 1.1.9 (67), Design ver 2.1.1.
  2. The 12 percent figure, the 70 million and 15 million tugrik averages and the age bands are from the investor deck in the file and are the company’s own research.
  3. Top 20 is the exchange’s index of its most traded companies. I ангилал and II ангилал are the Mongolian Stock Exchange’s first and second classification tiers.
  4. The deck also scored user experience out of ten and gave Investo eight. I left that row out here, because I designed it and it is not for me to grade.