Skip to content
This repository was archived by the owner on Jul 26, 2026. It is now read-only.

sjarmak/WheelOfFortune

Repository files navigation

Wheel Practice App

A Wheel of Fortune practice app built with React Native and Expo.

Features

  • Three Game Modes: Standard Game (spin the wheel), Toss-Up (buzz in to solve), Bonus Round (pick letters, beat the clock).
  • Real TV Show Puzzles: Puzzle packs from Seasons 1-42 with accurate round type labels (MAIN, TOSSUP, BONUS).
  • Seeded Determinism: Repeatable games for practice or competitions.
  • Data Pipeline: Ingests Kaggle CSVs, text files, and custom JSON to create puzzle packs.
  • Privacy First: Local storage only. No tracking.

Getting Started

Prerequisites

  • Node.js 18+
  • Expo CLI (npx expo)
  • Xcode (for iOS Simulator) or Expo Go on a physical device

Running the App

cd ios && npx expo start --clear
  • Scan QR with Expo Go on physical device, or press i for iOS Simulator
  • If Xcode license error: sudo xcodebuild -license accept
  • Dev client fallback: npx expo run:ios --device

Using the Pipeline

The pipeline creates puzzle packs from raw text or CSV files.

cd pipeline
npm install
npm run ingest -- -i ../data/raw/puzzles.txt -n "My Pack" -o ../data/packs/my_pack.json

Architecture

  • iOS App: React Native + Expo + TypeScript + Reanimated + react-native-svg.
  • Pipeline: Node.js + TypeScript + CSV Parse + Zod.
  • Engine: Pure functional game logic with seeded RNG (Mulberry32).

Testing

cd ios && npx vitest run

Archive

The original web version (React + Tailwind CSS) is preserved in archive/web-app/ for historical reference.

License

MIT. Content generated by the user is subject to their own rights.

About

Wheel of Fortune practice app built with React Native and Expo: standard, toss-up, and bonus game modes, real show puzzles ingested via a Kaggle data pipeline, seeded deterministic games, local-only storage.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages