https://github.com/alanxue1/smartcart
🛒 Mobile app that empowers visually impaired shoppers through intuitive audio guidance and accessibility-first design.
https://github.com/alanxue1/smartcart
expo firebase gemini-api react-native typescript
Last synced: 9 months ago
JSON representation
🛒 Mobile app that empowers visually impaired shoppers through intuitive audio guidance and accessibility-first design.
- Host: GitHub
- URL: https://github.com/alanxue1/smartcart
- Owner: alanxue1
- License: mit
- Created: 2025-02-17T17:42:35.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-17T15:55:05.000Z (over 1 year ago)
- Last Synced: 2025-03-17T16:41:55.639Z (over 1 year ago)
- Topics: expo, firebase, gemini-api, react-native, typescript
- Language: TypeScript
- Homepage:
- Size: 931 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# SmartCart
A smart shopping & recipe app that helps manage your grocery shopping and meal planning with AI-powered categorization.
## Features
- **Recipe Integration:** Search recipes, view ingredients, and automatically add missing items to your shopping list.
- **Smart Shopping List:**
- AI-powered categorization of items (Produce, Dairy, etc.) using Google Gemini.
- Real-time list syncing with Firebase.
- Manage items: mark complete, adjust quantity, long-press to delete.
- Intelligent ingredient parsing (handles fractions, removes prep notes like "finely chopped").
- **Pantry Management:** Keep track of ingredients you own to avoid re-buying.
- **Accessibility:** Text-to-speech and high-contrast mode.
- **Cross-Platform:** iOS & Android support via React Native & Expo.
## Tech Stack
- React Native with Expo
- TypeScript
- Firebase Firestore
- Google Gemini API (upgraded to 2.0 Flash)
- React Native Navigation (Expo Router)
- Expo Speech API for accessibility
## Screenshot

## Setup
1. Clone the repository:
```bash
git clone https://github.com/alanxue1/smartcart.git
cd smartcart
```
2. Install dependencies:
```bash
npm install
```
3. Create a `.env` file in the root directory with:
```
GEMINI_API_KEY=your_gemini_api_key
```
4. Start the development server:
```bash
npm start
```
5. Run on your device:
- iOS: Press 'i' in the terminal
- Android: Press 'a' in the terminal
- Scan the QR code with Expo Go app
## Environment Variables
- `GEMINI_API_KEY`: Google Gemini API key for item categorization
## Contributing
1. Fork the repository
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'feat: add amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request
## License
This project is licensed under the MIT License - see the LICENSE file for details.
## 📞 Contact
Alan Xue - [@alanxue_](https://x.com/alanxue_) - xuealan101@gmail.com