An AI-powered automatic parking booking app for iOS that integrates with PaybyPhone to automatically book parking when you arrive at saved locations.
- Fully Automatic Mode: Automatically books parking when you arrive at a saved location
- Semi-Automatic Mode: Asks for confirmation before booking
- Manual Mode: Only notifies you when you arrive
- AI analyzes context (time of day, day of week, historical patterns) to suggest optimal parking duration
- Supports multiple AI providers: Mock (demo), Ollama (local), OpenAI, and Claude
- Learns from your parking history to improve suggestions
- Geofencing around saved locations (home, office, gym, etc.)
- Background location monitoring
- Smart arrival detection
- Add multiple vehicles
- Set default vehicle for automatic booking
- Support for multiple payment methods
- Card and Apple Pay integration
- Framework: React Native with Expo
- Language: TypeScript
- State Management: Zustand
- Navigation: React Navigation
- Location: Expo Location + Background Tasks
- Notifications: Expo Notifications
- Storage: AsyncStorage
auto-park-gen-ai/
βββ app/
β βββ components/ # Reusable UI components
β βββ screens/ # App screens
β β βββ HomeScreen.tsx
β β βββ LocationsScreen.tsx
β β βββ SettingsScreen.tsx
β β βββ HistoryScreen.tsx
β βββ services/ # Business logic services
β β βββ locationService.ts # Location tracking & geofencing
β β βββ paybyphoneService.ts # PaybyPhone integration
β β βββ aiService.ts # AI/LLM integration
β β βββ notificationService.ts # Notifications
β β βββ automationService.ts # Automation orchestration
β βββ store/ # Zustand store
β βββ types/ # TypeScript definitions
β βββ utils/ # Helper functions
β βββ App.tsx # Main app component
βββ assets/ # Images and icons
βββ app.json # Expo configuration
βββ package.json # Dependencies
βββ tsconfig.json # TypeScript configuration
βββ babel.config.js # Babel configuration
- Node.js 18+
- npm or yarn
- Expo CLI
- iOS device or simulator (iOS 14+)
- Xcode (for iOS development)
- Clone the repository:
git clone https://github.com/varit05/auto-park-gen-ai.git
cd auto-park-gen-ai- Install dependencies:
npm install
# or
yarn install- Start the development server:
npm start
# or
yarn start- Run on iOS:
- Press
iin the terminal to open in iOS simulator - Or scan the QR code with the Expo Go app on your iOS device
- Add Locations: Go to the Locations tab and add places where you want automatic parking
- Add Vehicle: Go to Settings and add your vehicle details
- Add Payment: Add your preferred payment method
- Configure Automation: Choose your automation mode (Fully Automatic, Semi-Automatic, or Manual)
- Enable AI: Toggle AI-powered suggestions if desired
The app supports multiple AI providers:
No configuration needed. Uses smart heuristics for demo purposes.
- Install Ollama on your computer
- Pull a model:
ollama pull llama2 - In the app settings, select "Ollama (Local)" as the AI provider
- Ensure your phone and computer are on the same network
- Get an API key from OpenAI
- In the app settings, select "OpenAI" as the AI provider
- Enter your API key
- Get an API key from Anthropic
- In the app settings, select "Claude" as the AI provider
- Enter your API key
- Location Monitoring: The app continuously monitors your location in the background
- Geofence Detection: When you enter a saved location's geofence, the app triggers
- AI Analysis: If enabled, the AI analyzes the context to suggest optimal duration
- Booking: Based on your automation mode:
- Fully Automatic: Books parking immediately
- Semi-Automatic: Shows a notification for confirmation
- Manual: Only notifies you of arrival
The app integrates with PaybyPhone via:
- Deep Linking: Opens the PaybyPhone app with pre-filled location data
- Web Fallback: Opens the PaybyPhone website if the app isn't installed
Note: Full automation requires the PaybyPhone app to be installed. Some manual interaction may be required due to iOS security restrictions.
The app requires the following permissions:
- Location (Always): For background location monitoring
- Notifications: For booking confirmations and alerts
- iOS restricts fully automatic app launching for security reasons
- Some user interaction may be required for final booking confirmation
- Background location updates may be limited by iOS
- Requires PaybyPhone app to be installed for best experience
- No official API access; uses deep linking
- Some features may require manual completion in the PaybyPhone app
- Create new components in
app/components/ - Add new screens in
app/screens/ - Add services in
app/services/ - Update types in
app/types/
npm test
# or
yarn test# Build for iOS
eas build --platform ios
# Submit to App Store
eas submit --platform ios- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
MIT License - see LICENSE file for details
This app is for personal use and educational purposes. It is not affiliated with or endorsed by PaybyPhone. Users are responsible for their own parking bookings and payments.
For issues and questions:
- GitHub Issues: Report a bug
- Email: support@autopark-ai.com
Built with β€οΈ using React Native and Expo