Lion Link MVP is a Lion Link-style slot prototype built with Next.js App Router, TypeScript, Tailwind, Framer Motion, and Vitest.
- Login-lite username gate with browser-only persistence via
localStorage - Credits wallet, line bet controls, reset flow, and insufficient-credit handling
- Compact mobile control dock with tighter bet/spin controls to preserve machine viewport space
- Deterministic seeded RNG mode for reproducible QA and test runs
- 5x4 tile reel grid with 20 paylines and win highlighting
- 20-spin bonus board that locks filled cells permanently
- Bonus awards with value symbols plus
Mini,Minor, andMajorjackpots - Unit coverage for payline evaluation, payout math, bonus board fills, bonus payout, and state transitions
- Integration coverage for seeded base-to-bonus flow
- The base game uses a 5-column by 4-row board with 20 paylines.
- Line wins pay left to right from reel 1.
- Each spin costs
lineBet * 20. - Six or more
COcoin tiles trigger bonus mode. - Trigger coins seed the bonus board immediately.
- Bonus mode runs for 20 spins.
- Bonus spins can only fill empty cells.
- Filled cells stay locked for the rest of the bonus.
- Bonus payout is the sum of all locked cell values and jackpots on the board when the feature ends.
Enable Deterministic seed in the UI and set a seed string. Base spins and bonus steps will replay the same sequence for the same seed and progression, which is useful for QA and automated tests.
npm install
npm run devOpen http://localhost:3000.
npm run lint
npm run typecheck
npm test
npm run build
npm run keyword:research -- --helpThis repo also includes a standalone keyword/domain research utility. It is not part of the game UI.
Run the help text:
npm run keyword:research -- --helpRun the default US free-play casino seed set:
npm run keyword:researchRun custom seeds and optional competitor domains:
npm run keyword:research -- \
--seed "online casino games, free online casino games" \
--seed "play casino games online" \
--competitors "freeslots.com, casino.org" \
--intent free-play \
--country us \
--tlds comThe CLI reads KEYWORDS_EVERYWHERE_API_KEY from .env via Node's --env-file=.env support, queries Keywords Everywhere for seed expansion and volume data, then checks domain registration through RDAP.
- Vercel is the simplest target. No server-side secrets are required for the MVP.
- Use Node.js 22 or newer.
- Because state is stored in browser
localStorage, this MVP does not need a database. - If you add a real auth or wallet backend later, move session persistence out of the browser before handling money-like balances.
This project is a gameplay-style MVP for product validation only. It is not a real-money gambling product, has no compliance work, no payment rails, and no backend account system.