Clickable Links in Jetpack Compose: AnnotatedString with Custom URL Handler

While building the onboarding screen for my app, I needed a simple text that read something like this: The green hyperlinks are clickable Pretty straightforward, right? Just a bit of text with two clickable links — Privacy Policy and Terms of Service. But as I started implementing it, I realized: there isn’t a single complete guide explaining how to make part of a text clickable using AnnotatedString in Jetpack Compose — especially with the new LinkAnnotation API and a custom URL handler for better control. ...

November 11, 2025 · 5 min

Building a Reusable Speech-to-Text Component in Jetpack Compose

TL;DR - Why You Should Add Voice Input Voice input can dramatically improve UX, yet most apps don’t use it. Here’s why you should: ✅ Zero app size increase - Uses Android’s native speech recognition (no libraries!) ✅ No permissions required - Works out of the box ✅ 3-5x faster input - Users can speak 150+ words/min vs typing 40 words/min ✅ Better accessibility - Essential for users with motor impairments ✅ Reduces friction - One tap vs multiple keyboard interactions ✅ Professional polish - Shows attention to UX details ...

February 12, 2025 · 16 min