lu-peek

Lu Peek β€” Kids Learn ABC πŸ‘οΈ

A cheerful kids’ learning game for Android β€” letters, numbers, shapes and shadow-matching. Live on Google Play.

β–Ά Get it on Google Play

Lu Peek teaches letters, numbers and shapes through simple tap-and-match rounds: count the bears, drag the right letter, tap the shape that starts a word, or match a shadow to its colourful original. Multiple categories with daily rewards, achievements, and Arabic/English support out of the box.

Screenshots

Home Letters Counting Listen & find Starts with
Home Letters Counting Listen Words

Tech stack

Running locally

flutter pub get
flutter run -d <your-device>

Debug builds use Google’s test AdMob IDs automatically, so you can verify the ad flow without burning real inventory.

Project layout

lib/
β”œβ”€β”€ main.dart                # App entry + lifecycle observer
β”œβ”€β”€ config/theme.dart        # Colours, gradients, card styles
β”œβ”€β”€ models/                  # PeekItem, PeekCategory
β”œβ”€β”€ data/items_data.dart     # All emoji items grouped by category
β”œβ”€β”€ game/level_generator.dart # Deterministic level builder
β”œβ”€β”€ services/                # Storage, ads, IAP, lives, achievements, etc.
β”œβ”€β”€ screens/                 # Splash, home, category, game, profile, etc.
└── widgets/                 # ShadowEmoji, LuLogo, confetti, banner ad

Building a release APK / AAB

  1. Create a keystore (one-time, see play-store/QUICK_START.md).
  2. Drop android/key.properties (gitignored).
  3. flutter build appbundle --release -> upload app-release.aab to Play Console.

See play-store/ for the full publishing checklist.

Replacing AdMob test IDs with real ones

  1. AdMob Console -> Apps -> Add App -> β€œLu Peek” (Android, not on Play yet)
  2. Create 3 ad units: Banner, Interstitial, Rewarded
  3. Replace the three _realXxxId constants in lib/services/ad_service.dart
  4. Replace APPLICATION_ID in android/app/src/main/AndroidManifest.xml
  5. Rebuild release. Use the β€œForce test ads” debug toggle (Settings screen) to verify the flow before going live.