Ivan Sai · UX/UI designer in Kyiv

Ivan Sai · UX/UI designer · Kyiv

Open to UX/UI design projects

From flow to function

I design interfaces for products and websites: complex B2B systems (e-documents, reporting, POS) at Linkos, plus apps, landing pages and online stores as a freelancer. I map the logic, build the components and take each flow to a working prototype. AI tools help me get there faster.

Illustration: a document list drawn as a design spec on the left and as the finished interface on the right. Drag the handle or use the arrow keys to compare.

3+ years
product design at Linkos Group
B2B SaaS
e-documents, reporting, POS
Freelance
websites, mobile apps, landing pages

Selected work

Product work from my in-house job and freelance projects. NDA projects are shown without logos and with fictional data.

Early work

Learning projects from 2022, where I started: the full cycle from research to UI.

  • OutGymA fitness app for iOS: a survey of 25 people, 8 interviews, a customer journey map, user flows, wireframes and UI.Behance
  • MoneyControlA personal finance web app: user interviews, a comparison of 4 competitors, a persona, wireframes, a style guide and a grid for desktop and mobile.Behance

Featured caseIn-houseE-document service

When documents run out

How I designed balance, limits and tariff purchase for an e-document service.

The project is under NDA, so the screens are slightly adjusted: no logos or brand names, fictional companies, changed numbers and hidden prices.

Role
Product designer
Team
Business analyst, analysts for e-documents and e-waybills, front-end developer
Scope
Balance page, limit states, tariff purchase, payment results
Problem
When one of three limits runs out, work stops. People need to see it coming and fix it in a couple of clicks.
Solution
A state model for every limit, organization cards with all three limits at once, and a two-step tariff purchase that says when the new tariff starts and what happens to what’s left.
Result
One billing pattern for two of the company’s products, with every limit state and payment branch designed and agreed with analysts.
01

Context and problem

Every tariff in the service has three limits: documents, storage and employees. One account can hold several organizations, each with its own tariff. When a limit runs out, work stops.

The task was to show what’s left at a glance, warn before a limit runs out, and make buying a tariff clear right down to the moment it starts working.

02

Users and needs

I worked from two sources: data from our analysts and conversations with accountants.

The accountant

Sends documents every day, often for several organizations. Needs to see what’s left in each one without opening them one by one, and to know early when a limit is close.

The person who pays

Chooses and pays for the tariff. Needs to know what changes, how to pay and when the new tariff starts.

03

Scope and flow

I described each limit as a set of states and the transitions between them. Buying a tariff became a two-step flow: choose a tariff, then choose how to pay and see the consequences.

  1. ActiveEnough left to work
  2. Running lowA warning before the limit
  3. ExhaustedSending is paused
  4. No tariffThe tariff ended, sections locked
  5. Payment received: the new tariff starts and the limits update
Step 1Choose a tariff
Step 2Payment and consequences
ResultActivated, or declined with a next step
04

Key decisions

One pattern, three limits

Documents, storage and employees use the same remaining card: a big number, a bar and a legend. People learn it once and read it everywhere.

Consequences before payment

The payment step says when the tariff starts: right away if it is higher, after the current one ends if it is the same or lower. It also warns that the 12-month term runs from the payment date.

Nothing disappears silently

Documents bought on top of a tariff are frozen, not lost, and come back with a higher tariff. When storage runs low, the warning says in advance that the oldest documents will become unavailable.

A declined payment is a fork

The error says what happened and offers three ways forward: try again, change the payment method or go back to the order.

05

Components

The remaining card, banners in four tones, tariff cards and payment options, all on the product’s tokens. Type stays on an even scale: 12, 14 and 16 for the interface, 32 for the big number.

Active
180documents available
Used 320Available 180
status/neutralbar/available: success 56%
Running low
120 MBRunning low
Used 904 MBAvailable 120 MB
status/warningbanner/warning + consequence
Exhausted
0Exhausted
Used under the tariff 500
status/dangeraction: buy tariff
No tariff
Sending is unavailableBuy a tariff to send documents
state/lockedtabs: lock icon
06

Prototype

I build flows like this as clickable prototypes in code. Analysts and developers walk through every state themselves, which is easier than reading a stack of static frames. Switch the state, open a tab or buy a tariff.

State
Balance and tariffs

What the user sees

Why

07

Result

Billing grew into a pattern rather than a one-off screen: the same states and components are designed for two products.

  • 3 × 4Three limits with four states each: normal, running low, exhausted and awaiting payment. One model for design, specs and review.
  • 2 productsfollow one balance and tariff pattern: e-documents and e-waybills.
  • 2 stepsto a new tariff: the tariff first, then the payment. The consequences show before anyone pays.
08

What I learned

A state model is the quickest way to agree with analysts and developers on what we are building.

Edge cases deserve as much design as the happy path: frozen documents, a tariff that starts later, a payment the bank declines. That is where people stop and wonder whether something broke. Next, I would check the warning thresholds against real usage data.

Experience
3+ years in UX/UI design
Areas
E-documents and reporting, POS, e-commerce, health, insurance, mobile apps, landing pages
Education
Mining engineering, specialist degreeUX/UI Designer course at Mate AcademycertificateAI Designers course at Shain Academycertificate
Based in
Kyiv, Ukraine

Engineer by training, designer by choice

I studied mining engineering at the National University of Water and Environmental Engineering in Rivne. Later I retrained as a UX/UI designer at Mate Academy, redesigned mobile apps at Next Level Apps and moved into product design.

Since July 2023 I’ve worked at Linkos Group, a product company that builds document-management and government-reporting services. I was the lead designer on two products built from scratch: a back office for a certificate authority (a qualified trust service provider) and services for the tax authorities (SOD RRO). My work also covers e-documents and e-waybills, tariffs, access rights, analytics and a knowledge base for a POS system. Before designing access rights, I studied how other e-document services and DocuSign handle signers and viewers.

The engineering habit stayed with me. I think in systems, states and tolerances: sizes are even, tokens have names, and every screen knows what to do when something goes wrong.

On the side I take freelance projects: mobile apps, landing pages and a portfolio website for a photographer. I use AI tools to explore ideas faster and to turn designs into clickable prototypes.

Where I’m useful

Six things I bring to a product team. They work best together.

01

Product thinking

I start from the business rule and what a person needs to finish the job.

02

UX architecture

Flows, states and edge cases mapped before pixels.

03

Visual design

Calm, precise interfaces: a clear hierarchy, an even scale and colour that carries meaning.

04

Design systems

Tokens from primitives to semantics, components with variants, light and dark themes.

05

AI-assisted design

I explore options and test flows faster. The decisions stay mine.

06

Prototypes and handoff

Clickable prototypes in Figma and in code, plus specs that are easy to build from.

ToolsFigma: variables and componentsFigJamHTML and CSS prototypesAI assistants

Rules I design by

A design system is a set of decisions you don’t have to make twice. Here are mine, each with a live specimen.

Every size is even.

Type, icons, spacing and radii sit on even numbers. Text starts at 12 and never lands on 13, 15 or 17.

16 / 24Body text, the default for reading13 · 15 · 17

Primitives first, meaning second.

Raw colours live in one layer and their meaning in another. A new theme is a new mapping of semantic tokens, and components stay untouched.

orange/500accentbutton/bg
grey/950text/primarytable/cell
green/700status/successchip/signed
Invoice No. 214 Signed Send

A component is done when every state is.

Default, hover, focus, disabled, error and loading. Each one gets designed, because each one shows up in production.

Resting state. Nothing asks for attention.

Density is a feature.

Accountants scan long lists. Tables get tabular figures, sortable columns and a compact mode, and on a phone they fold into cards.

5 documents, sample data
Sample documents
Document Counterparty Status
Invoice No. 214Okeanenko LLC16.10.202648,600.00Signed
Act of work No. 87Kashalotenko Group15.10.202612,450.00To sign
E-waybill No. 1032Khvylovyi & Co14.10.202696,120.00Sent
Contract No. 12Okeanenko LLC10.10.2026240,000.00Draft
Reconciliation act No. 9Kashalotenko Group09.10.20263,980.00Rejected

Count before you change.

While moving a mobile UI kit to a 4 px radius grid, I found one token bound to 767 layers. Now I check bindings before I touch a variable.

0none 4xs 8sm 12md 16lg 24xl 999full
767layers bound to rounded-lg before the change. Every one of them was checked first.

Accessible by default.

Contrast is checked, focus is always visible, and touch targets are at least 44 px. The ratios here are measured live from this page’s colours.

AaText on page21:1AAA
AaSecondary text7:1AAA
AaAccent text4.5:1AA
AaPrimary button16:1AAA
The focus ring is 2 px with a 4 px offset. Press Tab anywhere on the page to see it.

Let’s make it clear

Open to UX/UI design work, freelance projects and conversations about complex interfaces. Write in English or Ukrainian.

Local time in Kyiv12:00

AI Designers certificate

Shain Academy, April 2026

Download PDF
Certificate awarded to Ivan Sai for successfully completing the AI Designers course, issued 24 April 2026

UI/UX Designer certificate

Mate Academy, September 2023

Download PDF
Mate Academy profession certificate, UI/UX designer, issued to Ivan Sai on 6 September 2023