Back to portfolio

Random Quote App

A playful quote app with motion, mood, and a satisfying shake.

Random Quote App is an Expo and React Native demo that shows bundled local quotes across selectable categories, wraps them in an animated crystal-ball style interface, and lets users tap or physically shake the device for a new quote.

View public GitHub repo

Tech stack

React Native Expo JavaScript AsyncStorage Expo Sensors React Native Skia RevenueCat Google Mobile Ads

What I built

  • Built a single-screen mobile quote experience with local quote collections for inspirational quotes, jokes, and multiple pickup-line styles without relying on a third-party quote API.
  • Added category selection, tap-to-refresh, and accelerometer-based shake detection so users can physically shake the phone to reveal a different quote.
  • Created animated quote reveal, floating, and shake effects with React Native Animated, plus a shader-driven crystal-ball orb using Shopify React Native Skia.
  • Persisted quote category and system, light, or dark theme preferences locally with AsyncStorage.
  • Integrated Google Mobile Ads test banner placement for non-Pro users and a RevenueCat-backed remove-ads flow with entitlement checks, paywall presentation, restore handling, and customer center access.
  • Prepared the public repository as a demo app where production ad units, RevenueCat API keys, product configuration, and store-listing details remain outside the repo.