Inspiration

We kept switching between four different apps to track what we watch, play and read, and none of them talked to each other or knew what we cared about across media types. Vaultifie is the tracker we actually wanted: one profile, one diary, one place to see what we've finished and what's still waiting.

What it does

Vaultifie is a Letterboxd-style tracker for movies, series, games and books. Log what you finish, rate and review it, build and rank lists, and follow friends to see what they're into. On top of that we built a set of real-time multiplayer minigames - guess the title from a blurred poster, trivia, noughts and crosses with a media twist - that run on the same catalogue you're tracking, played live over WebSockets.

Vaultifie Premium is an optional subscription (monthly, with a free trial) built entirely on RevenueCat: full profile statistics, alternative poster/artwork selection, extra themes, a pinned list and review on your profile, a custom profile banner, an animated avatar, and unlimited minigame hosting.

How we built it

Mobile is Expo / React Native with TypeScript and Expo Router; the backend is Django + Django REST Framework with Channels for the WebSocket game layer, Postgres and Redis. RevenueCat sits between our React Native client and both Apple and Google's native billing, with webhooks landing on our Django backend to flip the Pro entitlement server-side - so the same subscription state is authoritative whether you're on iOS or Android.

Challenges we ran into

The hardest problem wasn't any single feature - it was making four fundamentally different content types feel like one coherent app instead of four apps stitched together. Movies, series, games and books each have their own shape of data, their own sense of what "finished" even means, and their own UI conventions borrowed from different corners of the App Store. We had to design a module system - navigation, theming, list layouts, detail screens - flexible enough to respect those differences while still feeling like a single, considered product rather than a patchwork. That tension showed up everywhere: shared components that had to bend without breaking, a backend data model built to hold genuinely different media types under one roof, and constant judgment calls about when something should be consistent across all four modules versus tailored to just one.

What's next

We're already looking at where our book catalogue (sourced from a public API) is dragging down data quality and app performance compared to our movie, series and game data, and prototyping UI changes to see what the app could look like if we leaned further into the three modules that work best.

Built With

Share this project:

Updates

Submission history