A React Native wallpaper application inspired by MKBHD's aesthetic, built with Expo and featuring a modern, clean interface for browsing and downloading high-quality wallpapers.
This is a wallpaper discovery and download app that provides users with a curated collection of high-quality wallpapers. The app features:
- 🏠 Home Tab (For You) - Browse wallpapers organized in three categories:
- Library - Main wallpaper collection
- Liked - User's favorited wallpapers
- Suggested - Recommended wallpapers
- 🔍 Explore Tab - Discover new wallpapers and browse categories
- 👤 Account Tab - User profile and settings with bottom sheet demo
- ImageCard Component - Displays wallpaper previews with:
- High-quality image thumbnails (220px height)
- Wallpaper name overlay
- Heart icon for favorites
- Pressable interaction for full view
- BottomSheet Component - Full-screen wallpaper viewer with:
- Large wallpaper preview (80% width, 500px height)
- Download functionality
- Heart/favorite toggle
- Smooth pan-to-close gesture
- Custom Wallpaper Hook (
useWallpapers) - Manages wallpaper data with TypeScript interfaces - Theme Support - Light/dark mode with adaptive colors
- Cross-Platform - iOS, Android, and Web support
- Modern Navigation - Tab-based navigation with Material Top Tabs
- Node.js (v16 or higher)
- npm or yarn
- Expo CLI
- iOS Simulator (for iOS development)
- Android Studio (for Android development)
-
Clone the repository
git clone <repository-url> cd mkbhd-app-clone-main
-
Install dependencies
npm install
-
Start the development server
npx expo start
-
Run on your preferred platform
- Press
ifor iOS Simulator - Press
afor Android Emulator - Press
wfor Web Browser - Scan QR code with Expo Go app on your device
- Press
- React Native (0.79.6) - Cross-platform mobile framework
- Expo (~53.0.22) - Development platform and toolchain
- TypeScript (~5.8.3) - Type-safe JavaScript
- Expo Router (~5.1.5) - File-based navigation
- @gorhom/bottom-sheet (^5.2.3) - Smooth bottom sheet interactions
- @react-navigation/material-top-tabs (^7.3.6) - Material Design tab navigation
- @expo/vector-icons (^14.1.0) - Icon library
- expo-blur (~14.1.5) - Blur effects
- expo-haptics (~14.1.4) - Haptic feedback
- react-native-reanimated (~3.17.4) - Smooth animations
mkbhd-app-clone-main/
├── app/ # File-based routing
│ ├── (tabs)/ # Tab navigation group
│ │ ├── foryou.tsx # Home tab with material top tabs
│ │ ├── index.tsx # Explore tab
│ │ ├── account.tsx # Account tab with bottom sheet demo
│ │ └── _layout.tsx # Tab navigation layout
│ └── (nobottombar)/ # Routes without bottom tab bar
├── components/ # Reusable UI components
│ ├── ui/ # Base UI components
│ ├── ImageCard.tsx # Wallpaper preview card
│ ├── BottomSheet.tsx # Full-screen wallpaper viewer
│ └── ThemedText.tsx # Theme-aware text component
├── hooks/ # Custom React hooks
│ ├── useWallpapers.ts # Wallpaper data management
│ ├── useColorScheme.ts # Theme detection
│ └── useThemeColor.ts # Theme-based colors
├── constants/ # App constants
│ └── Colors.ts # Light/dark theme colors
└── assets/ # Static assets
├── images/ # App icons and images
└── fonts/ # Custom fonts
The app currently features 5 curated wallpapers:
- Heritage - Abstract artistic design
- Joker - Character-inspired artwork
- Motivation - Inspirational design
- Watch - Technology-themed wallpaper
- Tiger - Nature/wildlife artwork
All wallpapers are sourced from Ideogram AI and displayed at high resolution.
# Start development server
npm start
# Platform-specific builds
npm run android # Android development
npm run ios # iOS development
npm run web # Web development
# Code quality
npm run lint # Run ESLint
# Reset project (removes example code)
npm run reset-project- Basic tab navigation structure
- Wallpaper data management system
- ImageCard component with theming
- BottomSheet wallpaper viewer
- Cross-platform compatibility
- TypeScript integration
- Bottom sheet color theming (currently has import issues)
- Full wallpaper grid implementation
- Download functionality integration
BottomSheet.tsxline 45: MissingColorsimport andthemevariable- For You tab shows placeholder content instead of wallpaper grid
- Download button is not functional yet
- Fix theming issues - Resolve color imports and theme variables
- Implement wallpaper grid - Replace placeholder content with actual ImageCard grid
- Add search functionality - Search wallpapers by name or category
- Implement download feature - Allow users to save wallpapers to device
- Add favorites system - Persistent liked wallpapers storage
- Categories and filtering - Organize wallpapers by themes/categories
- Infinite scroll - Load more wallpapers dynamically
- Image caching - Improve performance with cached images
- Haptic feedback - Add tactile responses for interactions
- Loading states - Skeleton screens and progress indicators
- User accounts - Authentication and personalized experience
- Cloud sync - Sync favorites across devices
- Custom collections - User-created wallpaper collections
- Social features - Share wallpapers and collections
- AI recommendations - Personalized wallpaper suggestions
- Performance optimization - Image compression and lazy loading
- Offline support - Cache wallpapers for offline viewing
- Widget support - iOS/Android home screen widgets
- Apple Watch companion - Quick wallpaper browsing
- Desktop app - Electron-based desktop version
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is for educational purposes and is inspired by MKBHD's design aesthetic. All wallpapers are sourced from Ideogram AI.