The problem
Basket Fan is a product commissioned by Luxor — a company that for decades has been releasing sticker albums and that wanted to test whether the experience can live in digital form too, with all the serious mechanics: collection, gifts, notifications. The brief was: build the entire app that, in real conditions and with a real album, can prove that the audience wants this. Not a quick prototype — a product that goes to stores.
What we built
We developed three interconnected components. A native mobile app (Expo + React Native + TypeScript) with ten separate screens — from welcome and home, through two separate scan flows (scan a sticker to add it to the collection, scan an album to register it to the user), the album and the card, to the Have–Don't Have function for comparing and trading with friends, in-app messages, settings, and a screen for rewards. The app had real 3D scenes (@react-three/fiber + drei + react-spring) for reveal moments and interactive visuals, plus carefully chosen typography (Grandstander, Khand, Protest Strike) for a distinctive brand, not a template look. We built the backend in .NET following the Clean Architecture pattern. Plus a separate Next.js admin dashboard for managing albums, the sticker catalog, users, roles, and album copies, with Redux Toolkit for state and React Query for the server layer.
Modules & surfaces
- Native mobile appiOS + Android through one Expo / React Native codebase. Ten screens, custom navigation, real brand identity through typography and animations.
- Scanning stickers, albums, giftsThree separate scan flows: one adds a sticker to the user's collection, the second registers a physical album to their account, the third opens a gift.
- 3D scenes and animations@react-three/fiber with drei and react-spring/three for reveal moments, interactive cards, and reward animations — all in the mobile environment.
- Have–Don't Have (compare and trade)A function that shows a user what they're missing and what they have extra compared to others — the basic social mechanism of collecting.
- In-app messagesA communication channel between users and between system and user.
- Rewards and confirmations screenA flow for delivering rewards and confirming prize-draw winners.
- Admin dashboardNext.js + Redux Toolkit + React Query for managing albums, stickers, the catalog, album copies, users, roles, and request log review.