Sanjib Paul
SnooView is a sophisticated iOS application that reimagines how users browse and interact with image-based content from Reddit. Built using SwiftUI and following modern iOS design patterns, the app provides a seamless and intuitive way to explore visual content across different subreddits.
Key Features
Customizable Feed: Users can create personalized feeds by selecting from categorized subreddits
Advanced Authentication: Secure Reddit OAuth integration for account access and voting
Smart Caching: Efficient image caching system for smooth scrolling and reduced data usage
Dynamic Theme Support: Adaptive light/dark mode with system theme integration
Gesture Controls: Intuitive gestures for image viewing and navigation
Vote System: Real-time voting capabilities with haptic feedback
Search Functionality: Advanced subreddit search with dynamic results
Safe Search: Content filtering options for appropriate browsing
Performance Optimized: Implemented rate limiting and request caching for optimal performance
Technical Highlights
Architecture: Built with SwiftUI using MVVM architecture
State Management: Efficient state handling using @MainActor and Combine framework
Memory Management: Advanced caching system for images and API responses
API Integration: Robust Reddit API implementation with error handling and rate limiting
Async/Await: Modern Swift concurrency for smooth performance
Persistence: UserDefaults and KeychainSwift for secure data storage
Modular Design: Reusable components and clear separation of concerns
What I Learned
Implementing OAuth authentication flow in iOS
Building efficient image caching and loading systems
Managing complex state in a SwiftUI application
Handling API rate limiting and request optimization
Creating smooth animations and transitions
Implementing advanced gesture controls
Building accessible user interfaces
Development Process
The project followed modern iOS development practices, including:
Protocol-oriented programming
Swift concurrency with async/await
Reactive programming with Combine
Clean architecture principles
Extensive error handling
Performance optimization
Accessibility considerations
This project demonstrates proficiency in modern iOS development techniques while delivering a polished, user-friendly experience for Reddit content consumption.