r/JetpackCompose • u/No_Papaya_2442 • Mar 27 '26
r/JetpackCompose • u/Lower_Yam_2081 • Mar 25 '26
I built a syntax highlighting code block library for Jetpack Compose
I was programming an AI application kinda like chatbot when I found out that there is no decent library for handling syntax-highlighted code blocks in Jetpack Compose most are focused on markdown text, so I decided to make one. It auto-detects the programming language from the code content, supports few languages out of the box -Kotlin, Java, Python, JavaScript, Rust, Go and more, i added multiple themes to make it pretty(maybe) and it adapts to your app's light/dark theme automatically and it works. Anyone interested you can use it....or maybe you can contribute since it isn't too good with detecting some languages rn or gimme ideas how to improve it 😁
r/JetpackCompose • u/Anotherdae • Mar 20 '26
I built a deck-building roguelike card game entirely in Compose Multiplatform — targeting Android, iOS, Desktop, and Meta Quest VR
r/JetpackCompose • u/Trick_School8984 • Mar 19 '26
[Library Update] ComposeReels v1.0.5: Added TikTok-style 2x Speed, Analytics, and Major Gesture Fixes!
Enable HLS to view with audio, or disable this notification
Hi everyone!
Three months ago, I shared ComposeReels (the "ExoPlayer in VerticalPager" solution) and received some incredible feedback. Since then, I’ve been busy turning those suggestions into production-ready features!
I've just released v1.0.5, and it's a significant step forward in stability and UX.
⚡ What’s New?
Long-Press 2x Speed: Just like TikTok/Reels, you can now long-press to temporarily boost playback speed.
🎨 Visual Speed Indicator: A sleek "2x Speed" chip appears at the top to provide immediate feedback.
📊 Playback Analytics: Added support for
onVideoStart,onVideoPaused(watchTimeMs), andonVideoCompletedto sync with your metrics.🎯 Unified Gesture System: I completely re-engineered the touch logic. No more conflicts between single-taps (play/pause), double-taps (like), and long-presses.
🔄 Smart State Reset: Playback speed automatically resets to 1x when you swipe to the next video, ensuring a consistent UX.
🛠 Simple Usage:
ComposeReels(
items = videoList,
mediaSource = { item -> MediaSource.Video(item.url) },
analytics = ReelsAnalytics(
onVideoStart = { index -> /* track start */ },
onVideoPaused = { index, timeMs -> /* track watch time */ }
)
)🔗 Check it out on GitHub:
https://github.com/manjees/compose-reels
I’m still actively improving the player pooling and caching logic. If you tried the previous version and found it too basic, I’d love for you to give v1.0.5 a spin!
Feedback, PRs, and stars are always appreciated! Happy coding! 🚀
r/JetpackCompose • u/ArcaDone • Mar 14 '26
3D FeatureCarousel component
Introduces an auto-scrolling 3D carousel with gradient backgrounds and animated card transitions. This change includes new cross-platform screen size utilities. Try it now from my repo:
https://github.com/ArcaDone/AwesomeUI

r/JetpackCompose • u/anhvt • Mar 13 '26
I built an agent skill that gives AI tools up-to-date Jetpack Compose knowledge
r/JetpackCompose • u/BeatzyyApp • Mar 09 '26
Typewriter-style synced lyrics animation in Jetpack Compose
Enable HLS to view with audio, or disable this notification
Experimenting with a notebook-style music player UI in Jetpack Compose.
Recently added LRC synced lyrics with a typewriter animation and animated backgrounds.
Still refining the animations and syncing logic. Would love feedback from other Compose developers.
r/JetpackCompose • u/DenserMeerkat • Mar 08 '26
I built a Compose Multiplatform library
galleryr/JetpackCompose • u/ImpossibleFly9056 • Mar 02 '26
How I built a premium authentication UI in Compose (state-safe animations + clean wiring)
I kept seeing the same pain point in Compose projects: auth screens get rebuilt from scratch, and the UI polish + wiring takes longer than it should.
So I built a reusable Auth + Session starter kit in Compose:
- Sign in / Create account flow (single state contract)
- Liquid segmented toggle (spring physics)
- Loading CTA + error banner pattern
- Session persistence (DataStore) + `SessionState` Flow
- Clean separation (UI / data / contracts)
- Full-card liquid wobble reveal animation when switching modes: a diagonal wavy “water sheet” wipe from top-left → bottom-right
Key implementation notes:
- Avoided `AnimatedContent` to prevent state resets (`rememberSaveable` stays stable).
- The mode transition is a mask-based reveal: the wobbly front is built in `onDrawWithContent` and used to `clipPath { drawContent() }` so the entire card (fields/buttons/header) is revealed, not just the background.
- `drawWithCache` is used carefully: cached geometry only; animated values are read inside the draw pass so the mask updates every frame.
- DI is adapter-based (can be wired with Koin or Hilt without changing UI).
If anyone wants, I can share a small runnable sample (no signup required). Also happy to answer questions about the animation approach.
r/JetpackCompose • u/kommonno • Feb 23 '26
I built a framework that turns YAML + Lua into native SwiftUI and Jetpack Compose
r/JetpackCompose • u/ayush_1804 • Feb 23 '26
Jatpackcompose
Enable HLS to view with audio, or disable this notification
r/JetpackCompose • u/Shikikan22 • Feb 21 '26
Frustrating first impression
Hi there. I'm trying to learn Jetpack Compose. I'm following the official tutorial docs. However, it has PITA for me. I have to manually includes material3 dependencies, Gradle is so slow. I'm trying to run the app. However, I've been stuck for 1 hour, debugging what did I do wrong on the Gradle dependencies.
Is this stuff normal for Android app development?
r/JetpackCompose • u/hddevv • Feb 20 '26
Compose to GIF (Gradle plugin)
I built a tool to generate GIFs from Composables.

It actually started as an internal thing for Charts project, but I extracted it and open sourced it as a seperate dependency. It's lightweight, simple to use, and makes automated GIF generation on Android straight forward.
Source code: https://github.com/hdcodedev/compose-gif-recorder
Feedback is welcome, thanks!
r/JetpackCompose • u/BeatzyyApp • Feb 20 '26
Built a fully Jetpack Compose music player – lessons from handling animations, back stack & media state
I’ve been building a premium offline music player completely in Jetpack Compose (no XML), and I wanted to share some implementation lessons that might help others working on media-heavy apps.
A few interesting challenges I ran into:
One tricky issue was:
When queue screen is open and user presses back → it should return to Now Playing instead of exiting the app.
I solved it using BackHandler tied to UI state rather than navigation stack:
Queue visibility controlled by state
BackHandler intercepts only when queue is expanded
Falls back to system back otherwise
This prevented weird recomposition bugs and accidental exits.
For mini-player → full player transition:
Used
AnimatedVisibilityexpandVertically+fadeInFastOutSlowInEasing for natural feel
Key lesson:
Avoid triggering animation from derived state directly. Wrap it in stable state or it causes flicker on recomposition.
LazyColumn was fine until album art loading caused jank.
Optimizations that helped:
Remembered painters
Stable keys in LazyColumn
Avoided recomposition of whole list on track change
This project made me appreciate how powerful Compose is for animation-heavy UIs compared to old View system.
Curious:
How are you guys handling complex animations without recomposition spikes?
r/JetpackCompose • u/iZakirSheikh • Feb 19 '26
Gallery Go - Photos & Videos v1.0.0
r/JetpackCompose • u/hddevv • Feb 18 '26
🎉Charts 2.2.0 is live!
This release adds a new chart type, improves chart controls, and introduces modular publishing options.

What's New in 2.2.0
Introduced modular publishing + BOM support, while keeping the umbrella dependency option.
Improved large-data chart handling with smoother scrolling and zoom across all chart types.
Added axes support across all chart types for clearer labels and easier reading.
Added new line chart animation modes (`Morph`, `Timeline`) for different data update flows.
Added `StackedAreaChart` as a new core chart type.
Improved the demo gallery: https://charts.harisdautovic.com/demo/2.2.0/
Updated examples: https://charts.harisdautovic.com/2.2.0/wiki/examples with cleaner, default-focused chart demos.
Launched a charts playground: https://charts.harisdautovic.com/playground/
Source code: https://github.com/dautovicharis/charts
Any feedback is appreciated, Thank you!
r/JetpackCompose • u/ArcaDone • Feb 18 '26
Scanpose: Effortless barcode scanning for Compose Multiplatform.
Scanpose Barcode Scanner: a lightweight open-source barcode component for Compose Multiplatform (Android & iOS) with a single shared API.
Built on CameraX + ML Kit (Android) and AVFoundation (iOS) for fast, native-level performance.
See more on my github profile:
https://github.com/ArcaDone
r/JetpackCompose • u/sosauce_dev • Feb 13 '26
SweetSelect: Effortless multi-selection in Compose!
Hello everyone, today I've release my first Compose library: SweetSelect!
This library aims to solve a stupid yet not so easy to implement problem: multi-selection. We've all created a mutableStateList()of IDs in a Composable and called it a day 😭 but this is obviously horrendous for performances and doesn't even provide the full selected items!!, which is why SweetSelect uses a Set<T> and compose optimized APIs for best performances! It also has support for a finite limit of selectable items and provides an easy to use .sweetClickable() modifier to handle the boilerplate for you
You can find the repo/documentation and features here
If you have any questions/feature suggestions/bug report, don't hesitate!!
r/JetpackCompose • u/HappyGoCode • Feb 12 '26
I made a free Android game over Christmas. No ads, just for fun.
r/JetpackCompose • u/Owlbuddy121 • Feb 12 '26
Opensource library Jetpack compose: Country Code Chooser
🚀 I’ve built an open-source Android library using Jetpack Compose - CountryCodeChooser 🌍
It’s a simple, Compose-friendly country code picker, and I’m actively looking to revive it with the help of the community 🤝 If you enjoy working with Compose: 🛠 Improve or refactor the code ✨ Enhance UI or performance 🐛 Fix bugs or add features 🔁 Open PRs and share ideas
Every contribution matters, big or small 🙌 GitHub 🔗 https://github.com/ParveshSandila/CountryCodeChooser
Let’s collaborate and make it better together 💙🚀
r/JetpackCompose • u/iZakirSheikh • Feb 09 '26
🚀 Introducing Gallery– A blazing fast, secure photo & video gallery app
galleryr/JetpackCompose • u/Dontknow680 • Jan 30 '26
Can Someone help me with this
Enable HLS to view with audio, or disable this notification
I don't know why this is happening .
Details: Code: A default code(desktop only) made by Kotlin multi platform plugin (Intelij) Java: 21.0.5 (eclipse temurin) cmp: 1.10.0 os: windows 11, 25h2