Google Material 3 in Pugpig Bolt
Table of Contents
If you've read our Liquid Glass doc, you'll know that we mentioned Bolt Android would have its own separate UI adjustment. This is that update.
Google's Material Design 3 (M3), and its more recent extension, M3 Expressive, is the current design standard for Android. While we adopted M3 a few years ago, some of those earlier changes left parts of the Android UI feeling oversized and heavy. This update is about tightening proportions, making sure we're aligning to current M3 guidance, and using native components throughout.
This document explains what has changed, what you can expect, and what (if anything) you need to do.
One of our core principles in building Bolt is to use system-provided components where possible. On Android this means following Material Design guidelines, the same standard used across Google's own apps. Native components are familiar to Android users, well-tested, and keep the amount of bespoke code we maintain to a minimum.
Some elements in Bolt are native M3 components; the top toolbar, the navigation bar, and the settings screen. Others, like the audio miniplayer, are custom, but designed to sit cohesively alongside the system-provided ones. Both are included in this update.
Key points
- This update is delivered automatically with a Bolt version update. You won't need to do anything to receive it.
- These changes are Android-only. They are entirely separate from the Liquid Glass work on iOS. The two platforms have different design languages, and we intentionally follow each platform's own conventions rather than trying to force one design to fit both.
- This is not a dramatic visual overhaul. Most changes are about proportion, tightening spacing, reducing oversized elements, and adding a small number of M3 Expressive features. Your app will still look like your app.
- Brand theming is fully preserved. Your colours, fonts, and icons carry over unchanged.
What you (don't) need to do
- No redesign required, the changes are applied automatically when your app updates to the relevant Bolt version.
- Your existing theme configuration is unchanged.
- Custom components, including the audio miniplayer, have been updated by us to match the new proportions.
The one thing worth reviewing is your tab bar labels. See the section below.
Things to consider
Tab bar labels
The navigation bar now uses M3 Expressive, which makes a slightly more compact, giving your content more breathing room. Additionally as part of M3 Expressive, tab labels now respect the user's Android system text size setting, and can wrap to a second line if a label is too long. On a smaller screen with a large system text size, a label like "Video & Audio" can cause the bar to grow taller than intended. This means that some tab titles that previously kept to one line now might stretch to two.
We recommend keeping tab labels short, one word where possible. This is consistent with Google's own guidance (and Apple's) and is good practice regardless of this update.
![]() |
![]()
|
Active indicator on the tab bar
The navigation bar now shows an active indicator pill behind the selected tab. This is a standard M3 pattern used across Android apps. The indicator uses your existing active icon colour at a reduced opacity, so no separate theming is needed and nothing in your Dist config needs to change.

Button groups
The Light / Dark / System theme selector in settings, and similar toggle controls, have been updated from the now-deprecated segmented button to the M3 Expressive connected button group. From a user's perspective, these work identically.

Miniplayer
The audio miniplayer has been resized to be more compact, with tightened margins to broadly mirror iOS proportions. Playback controls remain fully functional. Miniplayer text responds to the device's system text size setting, this is expected behaviour.
Summary
If you have any questions about these changes, get in touch with your CSM.




