SwipeBooks is a Turkish-language mobile application for discovering books through an interactive swipe-based experience. I developed the application with React Native and Expo, using Firebase for authentication and data storage.
Instead of presenting users with long recommendation lists, SwipeBooks displays one item at a time and asks users to make a clear decision by swiping. Users can like, dismiss, or save content and later access their favorites and browsing history.
The Problem
Traditional recommendation lists can feel passive and repetitive. Users often scroll through many items without clearly expressing what they like or dislike.
My goal was to create a faster and more engaging discovery experience for Turkish-speaking users while collecting meaningful preference data through simple interactions.
The Solution
I designed a Tinder-style card interface where each swipe represents a deliberate user preference.
Users can:
• Swipe through books
• Like or dismiss individual recommendations
• Save content to a personal favorites list
• Review their previous swipe activity
• Explore content based on weekly popularity
The interface was designed to keep the discovery process simple, visual, and easy to use on mobile devices.
Core discovery flow: browse, search, and view detailed book information.
System Architecture
The application was built with React Native and Expo, while Firebase was used as the backend.
Firebase Authentication manages user registration and login sessions.
Cloud Firestore stores:
• Book metadata
• User favorites
• Swipe history
• Like and dislike decisions
• Popularity data used for weekly rankings
User-specific data is organized under each authenticated user’s ID, allowing favorites and history to remain separated between accounts.
Performance Challenge
The swipe animation initially experienced performance issues on Android because gesture handling and transform calculations were running on the JavaScript thread.
I improved the interaction using Reanimated 2, useSharedValue, and UI-thread animation logic. This made the swipe experience smoother and more responsive, including on mid-range Android devices.
Security
Firebase Authentication is required before users can access application data.
Firestore security rules restrict users to writing only within their own user-specific collections. Shared content records remain read-only for authenticated users.
My Role
I developed SwipeBooks independently and was responsible for:
• Product planning
• UI and UX design
• React Native development
• Swipe gesture implementation
• Firebase Authentication integration
• Firestore database architecture
• Favorites and history functionality
• Weekly ranking logic
• Android performance optimization
• Testing and debugging
Additional features including popularity rankings, personal library, and profile tracking.
Outcome
The result is a functional mobile discovery application that combines swipe-based recommendations with authentication, personalized favorites, browsing history, and popularity rankings.
This project demonstrates my ability to design and develop a mobile product from concept to implementation, structure its data architecture, integrate backend services, and solve real performance problems.
The application interface and content were designed for Turkish-speaking users.