A React Native multiplatform helper app for solving Wordle puzzles faster! Built with Expo, this app analyzes your guesses and provides real-time word suggestions.
- Interactive Virtual Keyboard: Tap letters and assign status colors (green/yellow/gray)
- Smart Word Filtering: Real-time suggestions based on your guess history
- Wordle-Style Interface: 6 guess rows with 5 letter tiles each
- Smooth Animations: Color transitions and scale effects using Reanimated
- Haptic Feedback: Tactile responses for better user experience
- Hard Mode Support: Enforces use of revealed hints in subsequent guesses
- Dark Mode: Automatic system theme detection
- Multiplatform: Works on iOS, Android, and Web
Web version availble here
- Install Expo Go on your iOS or Android device
- Scan the QR code below (available after first EAS build is published)
🔲 QR code will appear here after the first production build is published to Expo.
- Tap a letter from the virtual keyboard
- Select the status of that letter:
- ✓ Green (Correct): Letter is in the word and in the correct position
- ? Yellow (Wrong Spot): Letter is in the word but in the wrong position
- ✗ Gray (Not In Word): Letter is not in the word at all
- Continue entering letters until you fill a row
- View suggestions - The app shows up to 20 possible words that match your clues
- Tap any filled tile to cycle through status colors
- Reset to start a new puzzle
-
Install dependencies:
npm install
-
Start the app:
npx expo start
-
Run on your preferred platform:
- Press
ifor iOS simulator - Press
afor Android emulator - Press
wfor web browser - Scan QR code with Expo Go app
- Press
This project uses EAS Build for production builds and EAS Update for OTA updates.
npm install -g eas-cli
eas login| Profile | Purpose | Distribution |
|---|---|---|
development |
Local dev client (iOS Simulator) | Internal |
preview |
Shareable test build (.apk) | Internal |
production |
App Store / Play Store build | Store |
# Build for both platforms (production)
npm run build:all
# Build for a specific platform
npm run build:ios
npm run build:android
# Build development client
eas build --profile development --platform iosBefore submitting, fill in the credentials in eas.json:
- iOS:
appleId,ascAppId,appleTeamId - Android: path to your
google-services-key.json
npm run submit:ios
npm run submit:androidPush a JavaScript update to users without a full build:
npm run update| Technology | Purpose |
|---|---|
| Expo SDK 54 | React Native framework |
| TypeScript | Type safety |
| Expo Router | File-based navigation |
| React Native Reanimated | 60fps animations |
| Expo Haptics | Tactile feedback |
| Async Storage | Persistent settings |
| EAS Build | Cloud builds & deployment |
WordleWizard/
├── app/ # Expo Router screens
│ ├── _layout.tsx # Root navigation layout
│ ├── modal.tsx # Modal screen
│ └── (tabs)/
│ ├── _layout.tsx # Tab bar configuration
│ ├── index.tsx # 🏠 Main game screen
│ ├── explore.tsx # ℹ️ Instructions screen
│ └── settings.tsx # ⚙️ Settings (theme, hard mode)
├── src/
│ ├── components/
│ │ ├── LetterTile.tsx # Animated letter tile
│ │ ├── GuessRow.tsx # Row of 5 letter tiles
│ │ ├── VirtualKeyboard.tsx # QWERTY keyboard with status selector
│ │ └── WordSuggestionsList.tsx # Scrollable word suggestions
│ ├── types/
│ │ └── wordle.ts # TypeScript interfaces
│ ├── utils/
│ │ ├── wordFilter.ts # Word filtering algorithm
│ │ └── hardModeValidator.ts # Hard mode validation logic
│ └── data/
│ └── wordList.ts # 2300+ valid Wordle words
├── assets/ # Images, icons, fonts
├── app.json # Expo configuration
├── eas.json # EAS Build & Submit configuration
└── package.json # Dependencies & scripts
| Color | Hex | Meaning |
|---|---|---|
| 🟩 Green | #6aaa64 |
Correct position |
| 🟨 Yellow | #c9b458 |
Wrong position |
| ⬛ Gray | #787c7e |
Not in word |
| ⬜ Light Gray | #d3d6da |
Empty / unused |
Contributions are welcome! Here's how to get started:
- Fork this repository
- Create a branch:
git checkout -b feature/your-feature-name - Make your changes and ensure the app runs correctly
- Lint your code:
npm run lint - Commit:
git commit -m "Add your feature" - Push:
git push origin feature/your-feature-name - Open a Pull Request
Please keep PRs focused on a single feature or fix.
This project is open source and available for personal use.