I build software I want to use, and keep working on it until it feels right.
Android · Kotlin · Jetpack Compose · Python · APIs · Docker
Hey, I'm Luca. I like taking rough ideas and turning them into software I can actually use.
Most days I bounce between Android apps, backend services, tooling and infrastructure. I enjoy the part after something starts working: finding what still feels off, fixing the weird edge cases and making the whole thing cleaner.
- I work mostly with Kotlin, Jetpack Compose, Python, Node.js, Linux and Docker
- I like bugs that only show up on one device, one network or one very specific path
- I prefer a focused fix I understand well over a rewrite just because the diff looks impressive
- Levyra is where a lot of my Android and product ideas end up
- If it involves Android, self-hosting, APIs, performance or useful tools, I'm probably interested
Levyra is an open-source music player for Android and Windows. It focuses on low-latency playback with AndroidX Media3, offline downloads, synced lyrics via LRCLIB, and a fluid Jetpack Compose interface with zero tracking.
- Audio engine: AndroidX Media3 and ExoPlayer pipeline, custom session handling, gapless playback
- Offline vault: Resumable background downloads, local cache hierarchy, audio tag embedding
- Synced lyrics: Real-time synchronized lyrics scoring and custom extraction pipeline
- Interface: Pure Jetpack Compose with Material You dynamic theming and desktop support
My environment is built entirely on Linux. I prefer a focused, predictable set of tools I can rely on when things get complicated:
- Android core: Kotlin and Jetpack Compose for building fluid UI without legacy XML overhead. AndroidX Media3 and ExoPlayer for audio sessions and foreground services that never drop playback.
- Async & APIs: Python with FastAPI and AsyncIO for high-throughput concurrency, task queues, and automated workers. Node.js for lightweight scrapers and edge utilities.
- Offline vault: Room and SQLite for dependable offline-first data that never vanishes on restart. Redis when caching speed is critical.
- Infrastructure: Docker on lean Linux instances, reverse-proxied through Cloudflare, and shipped with reproducible GitHub Actions workflows.
Build the useful thing first. Run it on real devices. Find what breaks. Fix the smallest real cause. Then go back for the polish.