A Vendor Portal for Procurement

A bilingual (Arabic / English) web portal where suppliers find tenders, bid, sign contracts, deliver and get paid, designed to work as well on a phone as on a desktop.

Vendor portal dashboard on desktop and mobile

Role

Lead UX/UI Designer

Timeline

Around 3 months, then a client audit round

Team

PM, me (lead UX/UI), another UX/UI designer

Platform

Web, Tablet and Mobile · Arabic / English

Overview

01

A full procurement lifecycle in one portal

Suppliers register, find tenders, bid, sign contracts, deliver and get paid, all in one place.

02

Long chains, strict rules

A purchase order belongs to a contract, a certificate to a purchase order. Every screen had to show where a record sits in that chain.

03

Lead designer, discovery to audit

I led the UX and UI, built the design system, delivered Arabic and English across Web, Tablet and Mobile, then resolved the client audit.

The process at a glance

Procurement is one long chain where every step depends on the one before it. I mapped that chain first, then structured, wireframed and designed it, and stayed on after handoff to resolve the client's audit.

1User journey
Map the chain

How a supplier moves from registration to payment, in seven phases.

2Tender vs RFQ
Split the flows

Open tenders and direct quotation requests start and end differently, so each got its own flow.

3System IA
Structure

Every module grouped into the daily work and the money trail.

4Per module
Wireframe

Low-fidelity layouts for each module, before any UI.

5AR / EN, RTL
Design system and UI

A library with RTL and device variants, then Web, Tablet and Mobile screens.

6Fix report
Handoff and audit

Annotated handoff, then a structured round of fixes after the client audit.

UX: research and structureUI, system and delivery

Mapping the journey

Working from the client's requirements, I mapped a seven-phase journey, from registration to payment. Two ways in shaped everything: open tenders that any qualified supplier can bid on, and quotation requests sent to one supplier directly.

1Registration
Sign upUpload documentsGet qualified
2Discovery
Check the dashboardBrowse tenders or RFQsAsk questions
3Bidding
Create a bidRequest an extensionSubmit
4Post-bid
Track statusEvaluationAward or rejection
5Contract
Review the templateSignChange orders
6Delivery
Fulfil purchase ordersSubmit a completion certificate
7Payment
Track paymentsVendor evaluationFinal certificate
Flow ATender to bid
  1. Tender published to all qualified suppliers
  2. Supplier reviews scope, items and documents
  3. Optional inquiry before the deadline
  4. Bid with unit prices and documents
  5. Procurement compares all bids
  6. Awarded, then a contract
Ends in a contract
Flow BRFQ to proposal
  1. Request sent to one supplier
  2. Supplier reviews items and deadline
  3. Quotation with prices and lead time
  4. Proposal submitted before the deadline
  5. Review, may negotiate
  6. Accepted, then a purchase order directly
Skips the contract: goes straight to a purchase order

Information architecture

The system map split the portal into the daily work (Main) and the money trail (Financials). Every financial record links back to the one it came from, so a supplier always knows where they are in the chain.

The money trailContract→Purchase order→Completion certificate→Payment
MainDaily work
  • DashboardRequired actions, activity, payments
  • TendersDetail, then apply with a bid
  • Requests for quotationDetail, then submit a proposal
  • My bidsStatus of every submission
FinancialsThe money trail
  • ContractsBasic info, COCs, fines, change orders, warranty letters
  • Purchase ordersLinked contract, delivery, COCs
  • Down paymentsRequest, then approved or denied
  • Certificates of completionPartial per item, then final
  • Change ordersPer contract or purchase order
AccountAround the work
  • Profile
  • Settings
  • Help and support
  • Notifications

Design system

I built the system as three Figma files: a component library, plus separate Arabic and English screen files. Components carry RTL and device variants, so one library serves Web, Tablet and Mobile in both languages.

Three files
Component library
Arabic screens
English screens

The library is published once; both screen files update from it.

One component, every context
RTL
ONOFF
Device
Web/TabletMobile/Tablet
Same button, both directions
Submit bidSave draftتقديم العرض
Contrast

All text uses Neutral 600 or darker.

Tabs

Long tab bars scroll sideways on small screens.

Tablet

No desktop sidebar; navigation moves to a menu.

Selected final screens

A few of the final screens. Client names, logos and locations are replaced throughout.

Dashboard: required actions come first, then recent activity, payments and requests.

Tender details: a live countdown, a stages timeline and every tab a bidder needs.

Applying for a tender: a price and quantity table with VAT worked out, then documents.

Contracts: progress, financial summary, products and services, documents and addenda.

Certificates of completion: progress per item, invoice and attachments, plus a communication history.

Responsive and Arabic

Responsive: the same dashboard on desktop, tablet and phone. Cards stack and tables turn into lists on smaller screens.

Arabic: a mirrored right-to-left layout, designed alongside English on every device.

After handoff: the client audit

After handover, the client audited the files and sent a report. With a colleague, I worked through it in order of impact and replied with a report of the fixes done.

1Sorted the findings by impact
2Fixed with a colleague on a shared checklist
3Replied with a fix report in the client's structure
Responsive

Checked every screen across Web, Tablet and Mobile. Tablet screens no longer show the desktop sidebar.

Accessibility and contrast

Moved all text to Neutral 600 or darker, instead of changing shared tokens that other products use.

Content QA

Gave unnamed frames the name of the same screen on another device or in the other language.

Arabic / English parity

English Web became the reference. A screen was added only where no equivalent existed.

Figma cleanup

RTL variants unified to ON/OFF, unused components removed and detached, library republished without breaking instances.

Handoff and outcome

What shipped

9Lifecycle stages
Onboarding to change orders, in one portal
AR + ENTwo screen files
Mirrored right-to-left layouts
3Devices
Web, Tablet and Mobile
What I owned
LeadUX and UI
From the journey map to developer handoff
SystemComponent library
RTL and device variants, published once
AuditPost-handoff fixes
Responsive, contrast, content and parity

Ready to work together?

Let's talk

Open to remote roles and freelance work

Connect on socials

Ready to work together?

Let's talk

Open to remote roles and freelance work

Connect on socials

Ready to work together?

Let's talk

Open to remote roles and freelance work

Connect on socials

Create a free website with Framer, the website builder loved by startups, designers and agencies.