Back to projects
In production By Creapolis

Películas.
All your movies,
in a single app.

Discover what to watch tonight, save what you liked, and stop searching across three different apps for what that movie was called.

Your list

24 movies saved
124
Watched
4.6
Average
8
Lists
To watch
The Godfather1972
Interstellar2014
Whiplash2014
ANDROID
Platform
Entertainment
Category
ES · EN
Languages
Free
Price
Modules · What it does

Built with judgment, not a checklist.

Every module answers a real use case. No decorative features that look great in the demo and get in the way day-to-day.

E

Browse catalog

Thousands of movies and series, from new releases to classics. Search by title, actor, director, or genre.

L

Custom lists

Create lists by genre, decade, or whatever you dream up. "For Sundays", "With mom", whatever you want. Your favorites one tap away.

Q

Advanced search

Filter by year, genre, rating, cast, or duration. Find exactly what you feel like watching.

i

Full details

Cast, rating, trailer, trivia, and synopsis. All in one view, without opening five apps. Recommendations based on what you saved.

Multi-device sync

Your lists and favorites on any device. Your account, your collection, wherever you are.

Fast and modern

Fluid UI with aggressive poster caching, animated transitions, and Android 15 support. No lag, no waiting.

How I built it

Decisions that mattered.

01

The problem

You want to watch a movie and end up running three streaming apps in parallel just to figure out where it is available. A list you built in one app is useless in another. Chaos. 60% of users abandon the search after 2 apps.

02

Data architecture

Películas is a custom layer over open movie data (TMDB). No custom backend — Retrofit consumes the API, Room caches everything locally. The catalog is infinite but your selection is yours. The tradeoff: without a backend there is no cross-device sync.

03

Aggressive image caching

Coil with memory + disk cache. Posters pre-loaded in background scroll. Animated transitions between list and detail: the poster expands from its position. The app feels fast because you never see an empty slot where a poster should be. Metric: 0 empty posters during normal scroll.

04

Search that does not block

Local search with Room + FTS (Full Text Search). No unnecessary debounce: every keystroke filters in < 50ms. Advanced search: year, genre, rating, cast, duration. Combinable filters without lag. The tradeoff: local search limited to the cached catalog.

05

Deep links and navigation

Every movie has a stable deep link: /peliculas/{id}. This enables sharing directly to a movie, returning from a push, or opening from a widget. Navigation Compose handles the navigation stack with protection against back-stack corruption.

06

Offline: what works and what does not

With connection: full catalog, search, trailers, recommendations. Without connection: your lists, favorites, and cached posters. Room stores the entire viewed catalog. The tradeoff: you cannot explore new movies without network, but your collection is always available.

07

Real performance

Cold start: < 500ms. Catalog scroll: 60fps with high-resolution posters. Search: < 50ms per query. Memory: < 80MB with 500 cached posters. APK size: < 12MB. These metrics are measured on a Xiaomi Redmi Note 11 (mid-range), not a Pixel 7.

08

What I learned

Images are everything in this kind of app. Coil with aggressive caching, pre-loaded posters, animated transitions between list and detail. Android 15 forced me to rethink permissions and battery — and the result was better for the user. Hilt simplified dependency injection but added complexity to the build.

Stack
KotlinJetpack ComposeRetrofitCoilRoomHilt
Download

Try it today.

Free, no accounts, no annoying ads. Open and use.

Something similar?

Need something similar?

If you liked this app and want one for your industry or your idea, let's talk. I build things like this every day.