Steezy is a React Native mobile app made for snowboarders and skiers by snowboarders and skiers. It helps riders elevate their "steez" by providing a comprehensive guide to learn new tricks, track progression, and stay motivated through social features and gamification.
- 12 Comprehensive Tricks: From basic Ollie to advanced Backflips, ordered by difficulty and risk
- Smart Prerequisites: Master foundational tricks before advancing to complex maneuvers
- Comfort Levels: Track your progress from Learning → Trying → Comfortable → Mastered
- Steez Points: Earn 50-400 points per trick completion
- 6-Level Progression: Rookie → Learner → Rider → Shredder → Pro → Legend
- Dynamic Point Thresholds: 0, 500, 1000, 1500, 2000, 3000 steez points
- Achievement System: Unlock badges for milestones and social engagement
- Visual Progress Tracking: Real-time stats and progression indicators
- Friend System: Connect with other riders and discover new friends
- Social Feed: Share trick videos, celebrate milestones, and engage through comments/likes
- Level Comparison: Compare your progression with friends through leaderboard elements
- Video Sharing: Record and share your trick attempts and successes
- React Native 0.72.6 with TypeScript for type safety
- React Navigation with bottom tabs and stack navigation
- Material Design icons and consistent winter sports theming
- Modular Architecture with services, utilities, and comprehensive type definitions
- Mock Data Service ready for backend integration
src/
├── components/ # Reusable UI components
├── navigation/ # Navigation configuration
├── screens/ # Main app screens
│ ├── HomeScreen.tsx # Dashboard with level progress and current tricks
│ ├── TricksScreen.tsx # Comprehensive tricks library
│ ├── ProgressScreen.tsx # Personal progression tracking
│ ├── SocialScreen.tsx # Social feed and community features
│ ├── ProfileScreen.tsx # User profile and friend management
│ ├── TrickDetailScreen.tsx # Detailed trick information and tutorials
│ └── FriendsScreen.tsx # Friend discovery and management
├── services/ # Data management and business logic
├── types/ # TypeScript type definitions
├── utils/ # Helper functions and utilities
└── assets/ # Images, icons, and static resources
- Node.js (v20+)
- React Native development environment
- iOS Simulator / Android Emulator
- Clone the repository:
git clone https://github.com/CarlosBerm/steezy.git
cd steezy- Install dependencies:
npm install- Start the Metro bundler:
npm start- Run on your preferred platform:
# iOS
npm run ios
# Android
npm run androidnpm start- Start Metro bundlernpm run android- Run on Android emulatornpm run ios- Run on iOS simulatornpm test- Run test suitenpm run lint- Run ESLint
The project uses Prettier and ESLint for consistent code formatting. Run npm run lint to check for issues.
The app features a smart progression system that guides users through tricks based on difficulty and prerequisites:
- Beginner: Ollie, Indy Grab, Tail Grab, Butter
- Intermediate: Frontside/Backside 180s, Method, 50-50 Rail
- Advanced: Frontside 360, Boardslide, Frontside 540
- Expert: Backflip and other high-risk maneuvers
- Steez Points: Immediate reward system for trick completion
- Level Progression: Visual representation of skill advancement
- Achievements: Special badges for milestones and social engagement
- Leaderboards: Compare progress with friends and community
- Feed: Share videos, celebrate achievements, and motivate others
- Comments & Likes: Engage with the community
- Friend Discovery: Find riders with similar skill levels
- Group Challenges: Planned feature for community events
Contributions are welcome! Please read our contributing guidelines and submit pull requests for any improvements.
Keep shredding and elevate your steez! 🏂⛷️