Fintech · Banking App · Design System

NovaPay —
Design System & Interactive Prototype for Mobile Banking

A comprehensive fintech banking application designed from the ground up — starting with a complete design system in Figma (variables, tokens, 20+ components, mobile and desktop screens), through to a fully interactive coded prototype built with Next.js and Tailwind CSS. This project demonstrates end-to-end product design: research, information architecture, design system foundations, component library, responsive screen design, and a working interactive prototype.

Role
UI/UX Designer & Frontend Developer
Type
End-to-End Product Design
Timeline
Concept to Prototype
Tools
Figma · Next.js · Tailwind CSS · TypeScript

Banking,
redesigned

NovaPay is a fintech banking application designed from scratch — demonstrating how a modern mobile banking experience can be built systematically from design system foundations through to a working interactive prototype. The project covers the full product design spectrum: research, information architecture, a token-based design system, a reusable component library, responsive screen design across mobile and desktop, and a coded prototype that brings every screen to life.

The design challenge: create a banking app that feels trustworthy and professional while remaining intuitive for everyday transactions — balancing information density (account balances, transaction history, analytics) with the simplicity users expect from modern fintech products.

Design System
Color tokens · Typography scale · Spacing & radius variables · Component library
Responsive Design
18 mobile screens (375px) · 15 desktop screens (1440px) · Adaptive layouts
Component Library
20+ reusable Figma components · Variants · Consistent patterns
Interactive Prototype
Next.js · Tailwind CSS · Dark mode · Framer Motion animations
Information Architecture
User flows · Screen mapping · Navigation structure · Feature hierarchy
Icon System
Lucide icons · Consistent stroke weight · Semantic iconography

Token-based
foundations

The design system was built from the ground up using Figma variables — color tokens, typography scales, spacing values, and border radius variables. This token-based approach ensures consistency across all screens and makes the system easy to maintain, theme, and hand off to development.

FoundationDetailsPurpose
Color TokensPrimary, secondary, success, warning, danger palettes with light/dark mode valuesSemantic color system enabling theme switching and accessible contrast ratios
TypographyInter font family · Display, heading, body, caption scalesHierarchical type system for clear information scanning in financial contexts
Spacing4px base unit · 8-point grid · Consistent padding and marginsRhythmic spacing for clean, professional layouts across screen sizes
Border Radius4px (inputs) · 8px (cards) · 12px (panels) · Full (avatars, badges)Consistent rounding that balances approachability with financial professionalism

20+ reusable
components

The Figma component library includes 20+ reusable components built with variants — buttons, cards, inputs, navigation elements, transaction rows, chart elements, and more. Each component was designed to work across both mobile and desktop breakpoints, with consistent interaction states (default, hover, active, disabled).

Navigation
Bottom tab bar (mobile) · Sidebar navigation (desktop) · Breadcrumbs · Back buttons
Data Display
Balance cards · Transaction rows · Chart components · Stat widgets · Bill cards
Inputs & Actions
Buttons (primary, secondary, ghost) · Text inputs · Search · Toggle switches
Feedback
Toast notifications · Empty states · Loading skeletons · Success confirmations

Every screen
mapped

ScreenPurposeKey Elements
DashboardFinancial overview at a glanceAvailable balance · Account cards · Upcoming bills · Spending overview chart · Recent transactions
TransactionsComplete transaction historyFilterable list · Category badges · Date grouping · Search · Amount display
TransferSend money between accountsRecipient selection · Amount input · Account picker · Confirmation flow
CardsCard managementVirtual/physical card display · Card details · Freeze/unfreeze · Spending limits
BudgetsSpending category trackingCategory budgets · Progress bars · Monthly comparison · Overspend alerts
Pay BillsBill payment managementUpcoming bills · Payment history · Auto-pay setup · Reminders
AnalyticsFinancial insights & trendsIncome vs spending · Category breakdown · Monthly trends · Savings rate
Profile & SettingsAccount configurationPersonal info · Security settings · Notification preferences · Theme toggle

From concept
to prototype

This project followed a structured design process — each phase built on the previous to produce a comprehensive, production-ready design system and interactive prototype.

Research
Discovery
• Fintech competitive audit
• User needs analysis
• Feature prioritisation
• Information architecture
Foundation
Design System
• Color token system
• Typography scale
• Spacing & radius variables
• Figma variable setup
Build
Components
• 20+ Figma components
• Variant architecture
• Responsive behaviour
• Interaction states
Design
Screens
• 18 mobile screens (375px)
• 15 desktop screens (1440px)
• Dark mode variants
• User flow diagrams
Code
Prototype
• Next.js implementation
• Tailwind CSS styling
• Framer Motion animations
• Responsive & dark mode

Every choice
justified

Key design decisions were made based on fintech best practices, user expectations, and the need to balance information density with clarity.

DecisionRationaleAlternative Rejected
Dashboard as financial hubUsers need to see balance, recent transactions, upcoming bills, and spending trends at a glance — reducing the need to navigate between screens for routine checks.Minimal dashboard with just balance — forces unnecessary navigation for common tasks.
Token-based design systemFigma variables enable systematic theming (light/dark), ensure consistency across 30+ screens, and create a single source of truth for developer handoff.Hard-coded color values — impossible to maintain at scale and prevents systematic dark mode.
Mobile-first with desktop adaptationBanking is primarily a mobile activity. Designing mobile-first (375px) ensures core flows work on the primary platform, then expanding to desktop (1440px) adds density without compromising the mobile experience.Desktop-first — results in cramped mobile layouts that don't account for touch targets and thumb zones.
Dark mode as first-class featureBanking apps are used at all hours. Dark mode reduces eye strain, saves battery on OLED screens, and signals a modern, premium product. Built into the token system from day one.Light-only — misses user expectations for modern fintech apps and forces retrofitting later.
Lucide icon systemConsistent stroke weight and style across all icons. Open-source, well-maintained, and available as both Figma components and React components — bridging design and code.Mixed icon sources — creates visual inconsistency and complicates implementation.

Interactive
walkthrough

The coded prototype brings every screen to life — explore the dashboard, transactions, transfers, cards, budgets, and more. Built with Next.js, Tailwind CSS, and Framer Motion.

Interactive Prototype — Scroll & tap to explore

Best experienced on mobile viewport · Open in new tab

From design
to code

LayerTechnologyWhy Chosen
DesignFigma (Variables, Components, Auto Layout)Industry-standard tool with variable support for token-based design systems
FrontendNext.js · TypeScriptFile-based routing maps naturally to screen architecture; TypeScript for type safety
StylingTailwind CSSUtility-first approach mirrors design token values; rapid prototyping with consistent output
AnimationFramer MotionDeclarative animations for page transitions, micro-interactions, and chart reveals
IconsLucide ReactSame icon set used in Figma designs — pixel-perfect design-to-code consistency

Visual foundations

Colour Palette
Primary
Indigo
#6366F1
Indigo Light
#818CF8
Indigo Dark
#4F46E5
Neutral
Slate 50
#F8FAFC
Slate 200
#E2E8F0
Slate 500
#64748B
Slate 800
#1E293B
Slate 900
#0F172A
Semantic
Success
#22C55E
Danger
#EF4444
Warning
#F59E0B
Info
#3B82F6
Typography — Inter
Display
$24,580.00
H1 — Bold
Good morning, Nicole
H2 — Semi
Recent Transactions
Body
Your spending this month is 12% lower than last month. Keep it up!
Caption
IT60 X054 ···· 4567 · Due Jun 28
Iconography — Lucide
Dashboard
Transactions
Transfer
Cards
Budgets
Analytics
Profile
Settings

What I
delivered

20+Reusable Figma components with variants and responsive behaviour
33Screens designed — 18 mobile (375px) and 15 desktop (1440px)
2 modesFull light and dark mode support built into the token system from day one
Complete design system
Token-based foundations (color, type, spacing, radius) with 20+ components — ready for developer handoff and systematic scaling
Design validated in code
Built a fully interactive prototype in Next.js + Tailwind CSS — proving every screen, interaction, and animation works in a real browser

What this project demonstrates

This project shows my ability to build a product from the ground up — starting with design system foundations (tokens, variables, components), designing responsive screens across mobile and desktop breakpoints, and validating the entire system by building a working interactive prototype. Every design decision is backed by fintech UX best practices, and the coded prototype proves every interaction works in production.

Clever Recruit — End-to-End Design & Development of a Recruitment Platform
Next Project
Clever Recruit
Designing & Building a High-Density Recruitment Pipeline