diff --git a/README.md b/README.md
index eb1f07e..0798c05 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,169 @@
-# Oh My Zwift
+# Oh My Zwift 🚴♂️
-> List zwift racing events and predict your results.
+A React Native mobile app for Zwift racers to browse upcoming events, explore race categories, and predict race results based on participant data.
+
+## Features
+
+- 📅 **Browse Upcoming Events** - View all scheduled Zwift races, group rides, workouts, and time trials
+- 🏁 **Event Details** - See route information, distance, elevation, duration, and participant counts
+- 👥 **Category Analysis** - Explore subgroups (A-E) with specific pace ranges and registered riders
+- 📊 **Race Prediction** - View participants with their racing stats to estimate potential finishing order
+- 🔗 **ZwiftPower Integration** - Direct links to detailed event and rider information
+- 🌍 **Cross-Platform** - Works on iOS, Android, and Web browsers
+
+## Screenshots
| | | |
| :--------------------------------: | :--------------------------------: | :--------------------------------: |
|
|
|
|
|
|
|
+
+## Tech Stack
+
+- **Framework**: React Native with Expo (SDK 51)
+- **Navigation**: Expo Router (file-based routing)
+- **Styling**: NativeWind (Tailwind CSS for React Native)
+- **State Management**: TanStack Query (React Query)
+- **Language**: TypeScript
+- **API Client**: Axios
+- **Package Manager**: Bun
+
+## Getting Started
+
+### Prerequisites
+
+- Node.js 18+
+- Bun package manager (`curl -fsSL https://bun.sh/install | bash`)
+- iOS Simulator (Mac only) or Android Emulator
+- Expo Go app on your physical device (optional)
+
+### Installation
+
+```bash
+# Clone the repository
+git clone https://github.com/taehoio/zwift-app.git
+cd zwift-app
+
+# Install dependencies
+bun install
+
+# Start the development server
+bun start
+```
+
+### Running the App
+
+```bash
+# iOS Simulator
+bun run ios
+
+# Android Emulator
+bun run android
+
+# Web Browser
+bun run web
+
+# Expo Go (scan QR code)
+bun start
+```
+
+## Development
+
+### Project Structure
+
+```
+zwift-app/
+├── app/ # Expo Router pages
+│ ├── _layout.tsx # Root layout with navigation
+│ ├── index.tsx # Home screen (event list)
+│ └── events/
+│ └── [eventId]/ # Dynamic event routes
+├── api/ # API client functions
+├── components/ # Reusable UI components
+├── types/ # TypeScript type definitions
+├── styles/ # Global styles and utilities
+├── libs/ # Utility functions
+└── assets/ # Fonts and images
+```
+
+### Available Scripts
+
+```bash
+# Development
+bun start # Start Expo development server
+bun run ios # Run on iOS simulator
+bun run android # Run on Android emulator
+bun run web # Run in web browser
+
+# Testing
+bun test # Run tests in watch mode
+bun run test:ci # Run tests once (CI mode)
+bun run test:coverage # Generate coverage report
+
+# Code Quality
+bun run lint # Run ESLint
+bun run format # Format code with Prettier
+bun run format:check # Check formatting
+```
+
+### API Integration
+
+The app connects to the Zwift API backend at `https://zwift.taeho.io/api/v1` with the following endpoints:
+
+- `GET /events` - Fetch all upcoming events
+- `GET /events/{eventId}` - Get event details with route information
+- `GET /events/{eventId}/subgroups/{subgroupId}` - Get participants for a subgroup
+
+## Features in Detail
+
+### Event Browsing
+
+- Real-time list of upcoming Zwift events
+- Event type indicators (race, group ride, workout, time trial)
+- Quick view of start times, routes, and distances
+- Category badges showing available subgroups
+
+### Race Analysis
+
+- Detailed participant lists with key metrics:
+ - FTP (Functional Threshold Power)
+ - W/kg (Watts per kilogram)
+ - Racing Score
+ - ZwiftPower rank and category
+- Nationality flags for international competition
+- Direct links to ZwiftPower profiles
+
+### Smart Caching
+
+- Intelligent data refresh with TanStack Query
+- Exponential backoff for subgroup details
+- Pull-to-refresh on all screens
+- Optimized for battery life and performance
+
+## Contributing
+
+Contributions are welcome! Please feel free to submit a Pull Request.
+
+1. Fork the project
+2. Create your feature branch (`git checkout -b feature/AmazingFeature`)
+3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
+4. Push to the branch (`git push origin feature/AmazingFeature`)
+5. Open a Pull Request
+
+## License
+
+This project is licensed under the MIT License - see the LICENSE file for details.
+
+## Acknowledgments
+
+- Built with ❤️ for the Zwift racing community
+- Special thanks to ZwiftPower for providing racing data
+- Zwift is a trademark of Zwift, Inc.
+
+## Support
+
+For issues, questions, or suggestions, please open an issue on GitHub.
+
+---
+
+Made by [taeho.io](https://taeho.io)