Rock Gomes
View as

The short version

Senior Product Designer.
Complex B2B tools, design systems.

  • Open to work
  • Contract or full-time
  • Remote first
  • Tallinn, Estonia (UTC+2)

Ten years designing software people use all day at work: loan back-offices, support tools, data-heavy CRM lists and checkouts across four countries. I also build working prototypes, so teams can test the design before anyone writes a ticket.

experience
10+ years
companies
Well (Bestway Group), Dealfront, Inbank, Pipedrive, Bigbank
strong at
Back-office systems, data-heavy SaaS, design systems, prototyping
tools
Figma, design tokens, CSS, GSAP, Next.js, AI assistants
languages
English, Portuguese

I design products, start to finish. Clear, tested, and ready to go live.

I'm Rock, a Senior Product Designer based in Tallinn, open to contract and full-time projects.

I design the screens, build the tokens and components behind them, and ship a version the team can click through before anyone writes a ticket.

Where

28 of 40 match

fig. 00 · filter builder, example data rows = 40 · fields = 6

PM

Users duplicate a list just to filter it in different ways. Then the copies stop matching.

Rock

Let's keep one list and save the filter as a view on top of it. Like this.

Dev

Does a view copy the companies, or only store the filter?

Rock

Only the filter. The list stays the source of truth, so a view never drifts.

Shipped projects with source code

github.com/rockgomes · public repos, live demos
  • filter-builder Public

    Fieldset. A filter builder over 50,000 rows that never loses your work.

    • React
    • TypeScript
    • Vite
    • Vitest
  • karaoke-os Public

    Karaoke OS. A song list for karaoke bars that you can search on your phone.

    • Next.js
    • Supabase
    • Postgres
    • Tailwind
  • moving-out-webapp Public

    MoveOutSale. Sell a flat’s worth of furniture when you move.

    • Next.js
    • Supabase
    • Tailwind
    • Playwright
  • portfolio-presentation-template Public

    A scroll-driven case-study page with live prototypes.

    • Vite
    • GSAP
    • Lenis
in numbersas of October 2026

10years

Designing tools people use all day at work: loan back-offices, CRM integrations, sales data and support tools.

3design systems

Two built from zero at Inbank and Bigbank, one rebuilt at Well. Tokens, components and docs that teams use.

170+countries

Pipedrive is used in 170+ countries. At Bigbank I designed for 7 markets, and the Inbank checkout runs in 4.

7live demos

Prototypes and products I built and shipped in code, from case study recreations to side projects.

Projects

client work and experiments in one list · filter with the tags on the left

  • The Flexflex-academy.md2026

    Flex Academy

    One landing page for two readers, with a switch between them. Built on tokens and shipped as a working prototype.

    Landing page, Education landing-pageeducation

  • Dealfrontdealfront-ai-company-profile.md2025

    AI in the Company Profile

    Added AI that answers the questions salespeople were answering by hand. Shipped in two rounds within two weeks.

    AI, SaaS aisaas + Open live demo Live demo

  • Dealfrontdealfront-dynamic-lists.md2025

    Dynamic Lists

    Saved views inside one list, each with its own filters and columns, so people do not need to make a new list.

    Data, SaaS datasaas + Open live demo Live demo

  • Inbankinbank---customer-service-backoffice.md2024

    Customer Service Back-office

    Rebuilt the internal support tool from scratch for new hire-purchase products.

    Back-office, Fintech back-officefintech

  • Inbankinbank---hire-purchase.md2023

    Hire Purchase checkout

    Redesigned an outdated checkout across 4 countries. Fewer support tickets, faster completion.

    Loan application, Fintech loan-applicationfintech

  • Pipedrivepipedrive---floating-iframe.md2022

    Floating Iframe

    A floating window that lets integrations, like calling apps, work inside Pipedrive.

    Integrations, SaaS integrationssaas

  • Pipedrivepipedrive---interactive-panels.md2022

    Interactive Panels

    Act on a third-party app or a piece of data where it shows in Pipedrive.

    Integrations, SaaS integrationssaas

  • Pipedrivepipedrive---app-management.md2021

    App Management

    Where developers create and manage app extensions, in the Pipedrive Marketplace Manager.

    Integrations, SaaS integrationssaas

  • Bigbankbigbank---loan-flow.md2019

    Loan flow

    Redesigned loan application flows for a better experience and a modern look.

    Loan application, Fintech loan-applicationfintech

  • Bigbankbigbank---financial-backoffice.md2018

    Financial Back-office

    A system made for the bank's accountants, built in-house.

    Back-office, Fintech back-officefintech

  • Fieldsetfieldset.mdlive

    Filter builder

    A filter builder over 50,000 rows. It keeps your edits, and it asks you before it changes what you selected.

    Data data

  • Side projectkaraoke-os.mdsite

    Karaoke OS

    The karaoke bar's QR code opened a PDF with thousands of songs. I built a song list you can search.

    Code code

  • Side projectmoveoutsale.mdsite

    MoveOutSale

    A marketplace for selling the furniture from a whole flat when you move. Built with Next.js and Supabase.

    Code code

  • Templateportfolio-presentation-template.mdsite

    Portfolio presentation template

    A case study page that moves as you scroll. Chapter cards zoom open into full-screen chapters with working prototypes.

    Code code

Section / Design systems

Design systems

two built from zero, one rebuilt · this page uses a fourth

I have built design systems from scratch at Inbank and Bigbank, and rebuilt one at Well. Dev teams used each one in live products, on real deadlines.

Most of the work is in the logic under the UI kit: how tokens are layered, how components are split, which properties exist, and what happens when the brand or the theme changes.

Inbank DS

Inbank

2023 - 2025
  • Built from scratch right after the rebrand
  • One system for checkout in four countries and the back-office
  • WCAG built in ahead of an audit
TokensComponentsAccessibility

Bigbank DS

Bigbank

2016 - 2020
  • Built together with one other designer
  • A component library in code, used directly in the product
  • One system for every branch and market
ComponentsCodeResearch

Well DS

Well

Contract
  • Rebuilt the back-office design system
  • Colour tokens updated to meet AAA contrast
  • Worked side by side with the dev team
TokensAAA contrastHandoff

how I build them

One button set with variants

Button

One component set with Variant, State and Size. Teams pick a combination, so nobody copies a button and changes it.

Properties for small changes

Button

Button

Variant

State

Size

Show icon

Icon

Text, boolean and instance-swap properties handle small changes. I use variants only for real visual changes, so the set stays small.

Three layers of tokens

blue.600→color.action.primary→button.bg

grey.050→color.text.primary→h1, row title

red.400→color.redline→pin, cursor

click the first swatch to rebrand the buttons above

Primitives hold the raw values. Semantic tokens say where each value is used. Components use only semantic tokens, so a rebrand changes only tokens.

Dark and light modes

One set of components with a Dark and a Light mode. This page switches between them, and no frame is copied.

Design systems

two built from zero, one rebuilt · this page uses a fourth

Design systems

I have built design systems from scratch at Inbank and Bigbank, and rebuilt one at Well. Dev teams used each one in live products, on real deadlines. This page is the fourth: every story below renders the real components and tokens of rockgomes.com.

SystemYearsScope
Inbank2023 - 2025Built from scratch right after the rebrand. One system for checkout in four countries and the back-office.
Bigbank2016 - 2020Built with one other designer. A component library in code, used directly in the product.
WellContractRebuilt the back-office design system. Colour tokens updated to meet AAA contrast.

Button

Show code
<a class="btn" href="#">Button</a>
<a class="btn btn-primary" href="#">Button</a>

One component with Style and State. The same names are in base.css: .btn and .btn-primary.

Colour

  • --color-surface-page
  • --color-text-primary
  • --color-text-secondary
  • --color-annotation-measure
  • --color-annotation-redline
  • --color-status-positive
Show code
.btn-primary {
  background: var(--color-annotation-measure);
}

Figma variables are exported to tokens.css with the same names, so the spec and the code use the same tokens.

Modes

Show code
<html data-view="engineer" data-theme="dark">

This switch changes the theme of this page. Only the token values change.

Status pill

LeadTrialCustomerChurned
Show code
<span class="pill pill-customer"><i></i>Customer</span>

One component with a Status property that has four values.

Experience

2016 → 2026

git log --graph --since=2016

  1. 2025 - now

    Independent

    HEAD -> main

    Senior Product Designer · contract

    Bestway Group · the UK's second-largest pharmacy chain, ~700 branches, 360+ care homes

    I worked across the whole back-office, from onboarding new care homes to the care home structure, the medication cycles and all the other views staff use every day. I also helped on Direct to Patient, its public version. I rebuilt the design system and helped the front-end team implement it.

  2. 2023 - 2024

    Inbank

    Senior Product Designer

    I was Inbank's first in-house designer, so I owned design across the whole product: the hire-purchase flows in 4 countries, the customer service back-office, and a design system built from scratch. Today every market, online banking, partner channels and the back-office use it.

  3. 2020 - 2022

    Pipedrive

    Senior Product Designer

    I owned design for Integrations and Developer Experience. That means the app marketplace and the tools developers use to build apps for it. I set the patterns for how apps show and behave inside Pipedrive. I worked closely with PMs and developers, and with the business side on the roadmap, resources and goals.

  4. 2016 - 2020

    Bigbank

    Product Designer

    In four years at Bigbank, I worked on both sides of lending: the loan application customers fill in, in 5 countries, and the back-office tools behind it. I also built the bank's first design system, with a coded component library.

About

subject annotated for completeness

file portrait.png

Rock standing on a rock by a mountain lake, in black and white scene: mountain lake, morning hazedata-scene="mountain lake, morning haze"subject: Rockdata-subject="Rock"prop: one rock (fitting)data-prop="one rock (fitting)"mode: monochromedata-mode="monochrome"

I am Rock. Senior product designer in Tallinn, Estonia. I have spent ten years on the kind of software people use all day at work: loan back-offices, support tools, CRM lists with 29,000 rows, checkouts that have to work in four countries.

I like the hard, boring parts: permissions, edge cases, tables that stay readable at 200 columns, and design systems that must keep working after a rebrand.

I also build working versions of what I design. I use AI tools a lot to turn a Figma file into a clickable version fast. Then I read the code, fix the tokens and the CSS, and give the team something they can test. I made the two Dealfront demos on this page this way.

Before this: Dealfront, Inbank, Pipedrive, Bigbank, and a back-office design system for a UK pharmacy group. Outside of work: photography, the gym, and small games.

based
Tallinn, Estonia (EET, UTC+2)
works
contract or full-time, remote first
tools
Figma, tokens, CSS, GSAP, Next.js, AI assistants
speaks
English, Portuguese