Rivo
An open-source dialer and contacts app built with Material 3 Expressive.
Rivo is a modern, fully open-source replacement for the stock dialer and contacts apps, with T9 search, dual-SIM handling, call recording and a deeply themeable Material 3 Expressive interface.
What it does
- T9 predictive search and 1–9 speed dial slots
- Dual-SIM support with per-contact preferred SIM and carrier tags
- Call recording through Shizuku, with a microphone fallback
- Full in-call screen: audio routing, hold, mute, DTMF keypad and call notes
- Thousands of themes and per-element Material You colour overrides
About Rivo
Rivo replaces the two apps most Android distributions tie you to: the dialer and the contacts provider. It is written in Jetpack Compose, follows Material 3 Expressive, and keeps everything on device.
The keypad does T9 search across names and numbers, and the first nine keys act as long-press speed dials. Call history is filterable, contacts are backed by vCard import and export, and dual-SIM users can pin a preferred SIM per contact or pick one per call.
Call recording is the standout feature: with Shizuku granted, Rivo captures both sides of the conversation through the ADB shell — no root, no accessibility service, no MITM. Without Shizuku it falls back to ordinary microphone capture and tells you so.
Because it is GPL-3.0, every bit of it can be audited, and release APKs are published on GitHub alongside signed SHA-256 sums.