bread brand guidelines

bread is a calm money diary for M-Pesa. This guide sets out bread's logo, colour, type, writing and layout rules, from a 16 px favicon to a bus-stop poster.

Version 1.0October 2026Made in Nairobi

Who we are

bread is a money diary for people in Kenya who use M-Pesa every day. It reads the M-Pesa messages on your phone to record your transactions, without linking to your M-Pesa or bank account. You give each transfer a category and see how much you've sent to each person. bread is made in Nairobi.

Street scene in Nairobi
Nairobi. Photo: nashon otieno, Pexels.
01
A record of what happened
bread keeps a record of what you've spent. It doesn't give you a score or forecast your spending.
02
Calm numbers
bread shows your numbers without warnings or judgement. Spending is shown in ink, never in red.
03
Your records stay on your phone
bread stores your records on your phone. There's no bread account, no sign-in and no server, and bread doesn't link to your M-Pesa or bank account. bread reads the M-Pesa messages already on your phone, and you add anything else yourself.
Portrait of a person in Nairobi's CBD
Traffic on a Nairobi street
Left: Bigthink Entertainment. Right: Benedict Buston. Both on Pexels.

Communication

Write bread's copy in short, plain sentences. Say what happened and what the person can do next. Don't tell people how to spend their money.

Signature
See where your M-Pesa money goes.
Short headline
Left to spend.
Headline
Keep track of what you spend.
Brand statement
bread is a money diary for M-Pesa. It reads the M-Pesa messages on your phone, so you can give each transfer a category without linking an account.
Introduction
bread records your M-Pesa transactions from the messages on your phone. Give each transfer a category and browse your spending by category.

Principles

01

Use everyday words

Say what happened in the words people already use. Don't use puns on money or finance jargon.

Say
Avoid
You spent KSh 450 on lunch.
You made a delicious investment!
Left to spend
Available liquidity
Sent to Mum
Outgoing P2P transfer
02

Report numbers calmly

Give the number and what it refers to. Don't add warnings, advice or exclamation marks.

Say
Avoid
KSh 2,140 left for 8 days.
Warning! You are overspending!
Low
Danger zone
Removed. Undo
Are you absolutely sure?
03

Write for Kenya first

Use the words people in Kenya already use, such as shillings, M-Pesa, matatu and chama. Don't swap them for generic finance terms.

Say
Avoid
Matatu fare
Public transportation expense
Chama contribution
Group savings deposit
Till 123456
Merchant ID

Writing money

Write in Kenyan English and give amounts in shillings with the KSh prefix. Write KSh, never KSH. Amounts always use tabular figures and a true minus sign (U+2212).

ThingWriteNot
Currency prefixKShKSH · KES · Ksh
AmountsKSh 1,250KSH 1,250 · KES 1250 · Ksh1,250 · 1250/=
Spending−450-450 · (450) · red text
Money in+2,0002,000 CR
The serviceM-PesaMPESA · Mpesa · m-pesa
Phone numbers+254 712 345 6780712345678
DatesSat 24 Oct24/10/2026
Times13:451:45 pm
Paybill and tillTill 123456Buy Goods No. 123456

Accessibility

Every screen is checked in light and dark themes. All 164 colour pairs are tested against WCAG 2.2, and none fail at the size they are used.

Contrast

Aa
Ink on whitePrimary text
18.71:1AAA
Aa
Ink on FogText on cards
17.78:1AAA
Aa
Secondary on whiteSupporting text
8.42:1AAA
Aa
White on Jam 600Buttons and small text on jam
4.84:1AA
Aa
White on Jam 500Logo and large type only
4.03:1AA18
Aa
Ink on ButterLogo and display type on butter
13.69:1AAA
Aa
Butter 800 on ButterBadge text
5.10:1AA
Aa
Leaf 700 on whiteMoney in
5.85:1AA
Aa
Ink 500 on whiteDisabled and placeholders only
3.93:1AA18
AA18 means large text only: 24 px regular or 19 px bold and up. Use Jam 500 only for the logo and display type. Use Jam 600 for buttons and small text on jam.

Minimum sizes

ElementDefaultMinimum
Body text15 px13 px
Captions and meta12 px12 px, Secondary or darker
Touch targets48 pt44 × 44 pt
Icons20 px16 px inline with text
Mark24 px16 px on screen · 6 mm in print
Lockup120 px wide72 px wide · 20 mm in print

Motion

Use motion to show where something came from, such as a sheet rising from the bottom of the screen. Don't add motion for decoration. With Reduce Motion on, every transition becomes a short fade.

MomentTiming
Sheets and pagesSpring, about 320 ms
Dialogs in180 ms ease-out
Dialogs out140 ms
ToastsSlide 8 pt and fade
Reduce MotionFade only, 150 ms

Identity

The mark, called Sliced, is four upright bars cut to the shape of a loaf. It also reads as a small bar chart of spending. It is bread's only brand symbol, so don't add other symbols next to it.

Construction

Built on a 96-unit grid. Four 16-unit slices with 6-unit gaps, clipped by a single loaf curve with 6-unit corners. Never redraw it; use the files.

16616 0365460 r 682 × 60 units · 4 slices · 3 gaps

Clear space

Keep one slice width clear on every side. Nothing else enters this space, including the edge of the screen or page.

x x = one slice of the mark, on every side

Minimum sizes

Below these sizes the gaps between the slices close up. These are shown at real size.

16 px · 6 mm
24 px
32 px
72 px · 20 mm

Logotype scale

Set the lockup by its height. These are the steps we use in product and print.

72 px
60 px
48 px
38 px
30 px
24 px
18 px

Lockups

There are four logo versions, all made from the same drawing. In the horizontal lockup, the mark sits on the wordmark's cap height.

Horizontal lockup · The default. Use it wherever there is room.
Stacked lockup · For square spaces such as posters, the splash screen and merchandise.
Wordmark · Use when the mark already appears nearby.
Mark · For the app icon, avatars, the favicon and other small spaces.

Colour versions

Use the logo in ink, white or jam. Use the butter mark only on ink backgrounds. Never place a jam logo on a jam background.

Ink on Fog
White on Ink
White on Jam
Butter mark on Ink

App icon

In marketing, show the app icon as white slices on Jam 500 with a light grain. The icon in the app itself is flat. Use the ink version, with butter slices, for dark-icon modes.

1024 px · App Store
180 px · Home screen
87 px · Settings
40 px · Notification

Misuse

Use the logo files as supplied. Don't change the mark in any of the ways below.

Don't stretch or squash
Don't colour the slices
Don't outline the mark
Don't add effects
Don't rotate
Don't change the slices
Don't place on busy photos
Bread
Don't retype the name

Colour

Most of every layout is white and ink. Jam is the brand colour, so use it once per screen at most. Butter is never a background for body text; small badges may use butter with #7C500E text.

Jam 500
--jam-500 · Brand
HEX
#E2445C
RGB
226 68 92
CMYK
0 70 59 11
Ink 950
--ink-950 · Text
HEX
#121214
RGB
18 18 20
CMYK
10 10 0 92
Fog 50
--ink-50 · Surface
HEX
#F9F9FA
RGB
249 249 250
CMYK
0 0 0 2
Butter 300
--butter-300 · Highlight
HEX
#FFD966
RGB
255 217 102
CMYK
0 15 60 0
Jam 600
--jam-600 · Buttons and links
HEX
#D0374F
RGB
208 55 79
CMYK
0 74 62 18

Neutrals

The neutrals are a cool grey ramp, so don't swap in cream or warm greys. Use 950, 700 and 600 for text. Use 500 only for disabled states and placeholders.

0FFFFFF
50F9F9FA
100EFEFF0
150E6E6EA
200D8D8DD
300BDBDC1
400A1A1A5
500808084
60067676B
7004D4D50
800323236
900202024
950121214

Status

Each status has a solid, a surface, a border and a text colour. Spending is never shown in red. Red is for errors only.

SuccessSolid · Surface · Border · Text
#22844F#F0FAF1#C4E9CC#1C7347
Saved. KSh 2,000 added to Money in.
DangerSolid · Surface · Border · Text
#C54D30#FFF4F1#FFD3C5#A33B25
Couldn't save. Check your connection and try again.
WarningSolid · Surface · Border · Text
#F4A858#FFF5EA#FCD7B0#9A5503
KSh 2,140 left for 8 days.
InfoSolid · Surface · Border · Text
#4970BF#F2F7FF#CCDFFF#405FA3
Tip: you can create your own spending categories.
Remove and delete
Remove is black when it can be undone; chilli only for permanent deletes.

Categories

Each of the eight spending categories has a muted colour with three values. Use the mark for dots and bars, the tint for chips, and the ink for text on the tint.

Family
#B97155 · #FFEBE4 · #733C25
Groceries
#579766 · #E2F7E5 · #255A33
Transport
#558AC0 · #E5F2FF · #255079
Friends
#9476B7 · #F4ECFF · #584072
Eating out
#B56C89 · #FFEAF1 · #70384F
School
#1D9999 · #D9F7F7 · #035959
Other
#7F7F87 · #EEEEF1 · #4C4C54
Bills
#A97E2C · #FDEED6 · #654703

Proportions

How much of each colour a typical screen, page or poster uses.

White50%
Fog25%
Ink10%
Tints10%
5%

Dark

In dark mode the page is Ink 950 (#121214) instead of pure black. Surfaces get lighter in grey steps, and jam and leaf use lighter values for text.

RoleLightDark
Page#FFFFFF#121214
Surface#F9F9FA#1B1B1E
Text#121214#F1F1F3
Secondary#4D4D50#A1A1A5
Hairline#E6E6EA#2A2A2E
Money in#1C7347#A0D9AF
Brand text#AF2C40#FE9FA5

Typography

The type system is called Tall Stack. Use Big Shoulders Display 800, always in capitals, for headlines and key figures such as wallet balances. Use Inter for body text, labels and row amounts.

Big Shoulders DisplayDisplay · 800
Aa
ABCDEFGHIJKLMNOPQRSTUVWXYZ
0123456789 KSh −+,.
InterText · 400 / 500
Aa
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
0123456789 KSh −+,.

Scale

Hero figureBig Shoulders · 800 · 112 px
KSh24,860
TitleBig Shoulders · 800 · 72 px
Activity
SectionBig Shoulders · 800 · 26 px
Today
Card figureBig Shoulders · 800 · 30 px
13,640
Row amountInter · 500 · 15 px · tnum
−1,240
BodyInter · 400 · 15/20 px
Lunch at Java, Kimathi St
CaptionInter · 400 · 13/18 px
Eating out · 13:45
MicroInter · 500 · 12/16 px
8 days to go

Numbers

Set amounts in tabular figures with a true minus sign. Set the KSh prefix smaller and lighter than the figure.

KSh prefix
KSh860
26% of the figure, 50% opacity,
aligned to the cap height.
Minus, not hyphen
−450 ✓
-450 ✕
U+2212 matches the plus
in width and height.
Tabular figures
−1,111
−450
+2,000
−13,640
Amounts in a column
align on the right.

Iconography

Use Phosphor icons in the Regular weight, without modification. Their rounded joins match the curve of the mark and the shapes of Inter.

Home
Activity
People
Add
Search
Wallet
Eating out
Groceries
Transport
Bills
School
Other
Money in
Sent
Chama
Month
Report
New category
Privacy
Delete
Edit
Undo
Reviewed
Settings

Regular and Fill

Use Regular everywhere. Use Fill only for the active tab, so the current tab is shown by the icon's shape as well as its colour.

Home
The active tab uses Fill. The others use Regular.

Sizing

20 px in lists and buttons, 24 px in navigation, 16 px inline with text. Category icons sit in a 40 px tile with 12 px corners. Shown at 2×.

16 px
20 px
24 px
32 px
Tile 40 · r 12

Icons with type

Icons are centred on the first line of text and take the text colour, or the category ink inside a tile.

Lunch at Java, Kimathi St
Eating out · 13:45
−1,000
Matatu fare back
Transport · 18:40
−150
Brian Otieno
Received · 11:20
+2,000

Graphic elements

Graphic elements are built from the slice: a 16-unit bar with a 6-unit gap. Repeat it to make charts, rules and patterns.

Slice rhythm. Base the bar heights on real spending data, and make no more than one bar jam.
Hairline · 1 px
Slice rule · 16 / 6
Loaf break
Dividers
J
F
M
A
M
J
J
A
S
O
Bar motif · the latest bar is ink, the rest Ink 150

Crops of the mark

At large sizes the mark can run off the edge of the layout. Keep at least two slices and the curve visible.

Infographics

Use bar charts only. Keep bars flat with rounded ends, and label them with the actual amounts. Don't use pie charts, gradients or 3D. The figures shown are demo data.

Spending by categoryOctober · KSh 13,640
Family3,000
Groceries2,480
Transport1,860
Friends1,500
Eating out1,450
School1,200
Other1,150
Bills1,000

Category split

Use one stacked bar with the largest category first, and a plain legend underneath.

October by categoryShare of KSh 13,640
Family
22%
Groceries
18%
Transport
14%
Friends
11%
Eating out
11%
School
9%
Other
8%
Bills
7%

Left to spend

The loaf-shaped gauge fills from the bottom to show what's left to spend. Below 15% it turns marigold and shows a Low label. It never turns red.

KSh24,860
Left to spend · 8 days to go
KSh13,700
Left to spend · 14 days to go
Low
KSh2,140
Left to spend · 8 days to go
Concept66% left · 36% left · Below 15%: Low

Composition

Use large type, plenty of space and one key number per layout. Build layouts on simple column grids and leave at least a third of the area empty.

Poster · 6 columns, 7.4% margins
Left to spend
KSh24,860
See where
your M-Pesa
money goes.
Social · 4 columns, 70 px margins
App · 4 columns, 20 pt margins, 16 pt gutters

Applications

Examples of the brand in use. App screens show demo data, and poster figures are illustrative.

Home, Activity and Person. Light theme.
bread
Splash and app icon.

Out of home

Use one line of copy and the mark. People see posters and signs for a moment, often from a moving matatu, so keep the line short.

bread banner on a roadside kiosk in Kenya
Kiosk fascia, Kenya. Photo: Denis Kioko, Pexels.
bread's Home screen on a phone held in one hand
bread wheat-paste posters on a pink wall in Nairobi
Left: PNW Production. Right: wheat-paste wall, Nairobi, Mukula Igavinchi. Both on Pexels.

Print

Concept: a month receipt, an end-of-month summary laid out like a till receipt. It isn't in the app.

Oct 2026
Month receipt
Family3,000
Groceries2,480
Transport1,860
Friends1,500
Eating out1,450
School1,200
Other1,150
Bills1,000
Spent13,640
Money in+38,500
See where your M-Pesa money goes.
ConceptMonth receipt, October

Social

The header is 1500 × 500, and the avatar overlaps its bottom edge by 55%. Choose a colourway below to preview it.

See where your
M-Pesa money goes.
See where your
M-Pesa money goes.
See where your
M-Pesa money goes.
See where your
M-Pesa money goes.
bread
A calm money diary for M-Pesa. Made in Nairobi.

Presentation

The brand on one board, for decks and posts. Shared in 16:9.

bread brand presentation board
Brand presentation, after @yahyavision's OVO layout. Photos: Denis Kioko, PNW Production, Uriel Mont, Bigthink Entertainment, nashon otieno. All on Pexels.

Landing page

bread.app
bread landing page
The bread landing page.

E-news

Concept: The Month, an email sent at the end of each month. It would have a jam header, three figures, up to three updates and one ink button. bread doesn't send email today.

Concept for The Month email, October
ConceptThe Month, October
PartRule
Width600 px, 36 px side padding
HeaderJam 500 with grain, Big Shoulders 76 px, two lines max
FiguresThree tiles, Big Shoulders 34 px, money in green
ButtonOne, ink, 48 px tall
SubjectPlain and short, for example "Your October spending summary".

Resources

Download the logos, design tokens, this guide as a PDF and the photo credits. The files may be used for bread work.

Logos

Icons and avatars

Typefaces and icons

Photo credits

Nairobi street, busnashon otienoPexels
Nairobi CBD portraitBigthink EntertainmentPexels
Nairobi trafficBenedict BustonPexels
Kiosk fascia, KenyaDenis KiokoPexels
Wheat-paste wall, NairobiMukula IgavinchiPexels
Hand with phonePNW ProductionPexels
Woman with coffee and phoneUriel MontPexels

Copy for Figma

Paste these into Tokens Studio, or keep them as a reference while you build local variables.

  --ink-0:#FFFFFF; --ink-50:#F9F9FA; --ink-100:#EFEFF0; --ink-150:#E6E6EA; --ink-200:#D8D8DD; --ink-300:#BDBDC1; --ink-400:#A1A1A5; --ink-500:#808084; --ink-600:#67676B; --ink-700:#4D4D50; --ink-800:#323236; --ink-900:#202024; --ink-950:#121214;
  --jam-50:#FFF4F4; --jam-100:#FFE7E8; --jam-200:#FFC9CC; --jam-300:#FE9FA5; --jam-400:#F76C7B; --jam-500:#E2445C; --jam-600:#D0374F; --jam-700:#AF2C40; --jam-800:#8B2532; --jam-900:#661D25;
  --butter-50:#FFFAE9; --butter-100:#FFF5D1; --butter-200:#FFEBA8; --butter-300:#FFD966; --butter-400:#F1C248; --butter-500:#DEA723; --butter-600:#C0880F; --butter-700:#9D6A0E; --butter-800:#7C500E; --butter-900:#5D390E;
  --leaf-50:#F0FAF1; --leaf-100:#E0F4E4; --leaf-200:#C4E9CC; --leaf-300:#A0D9AF; --leaf-400:#72C18C; --leaf-500:#47A76D; --leaf-600:#22844F; --leaf-700:#1C7347; --leaf-800:#155A38; --leaf-900:#0F4129;