Nebula Clash is a browser match-3 game with a marketing landing page, in-game economy, payments, daily rewards, leaderboard, and short-form content workflow around https://nebulaclash.com.
This repository is the main release project for the playable product.
- Genre:
cosmic match-3 puzzle - Platform:
web - Public site:
https://nebulaclash.com - Frontend:
React 19 + TypeScript + Vite - Backend:
Node.js HTTP server + SQLite - Payments:
Robokassa - Analytics:
GTM, optionalGA4, optionalPostHog - Monitoring:
Sentry
The live product already includes:
- marketing landing page
- playable level flow
- roadmap screen
- wallet and paid coin packs
- continue flow for coins after failure
- daily rewards
- leaderboard
- share action
- legal docs and contact sections
- User lands on
nebulaclash.com. - User starts a session and enters gameplay.
- User completes levels, earns coins, and spends coins on recovery/boost actions.
- User can buy coin packs through Robokassa.
- User returns through daily rewards, leaderboard comparison, and progression.
Current economy values in code:
- starting balance:
50coins - continue / booster cost:
15coins - extra moves value:
+5 - extra time value:
+30s
Default coin packs:
pack-120:60coins for99 RUBpack-300:150coins for199 RUBpack-800:420coins for499 RUB
Current reward systems:
- level-completion reward
- daily reward streak
- paid pack top-up
Strategy docs for metrics, economy goals, and hypotheses live in:
../../02_Strategy/NebulaClashHypotheses/README.md
Main funnel events already tracked in the app:
landing_viewlanding_play_clicksession_startlevel_startlevel_completeshop_opencheckout_startpayment_credited
The current operating rule is to evaluate growth and content by movement deeper into the funnel, not by views alone.
src/: React app, game UI, analytics integrationserver/: wallet, rewards, leaderboard, payment endpointspublic/: static assetsdocs/marketing/week1/: early paid traffic and execution docsprogress.md: running implementation logRELEASE_AUDIT_2026-02-27.md: release risk auditROBOKASSA_SETUP.md: payment setup notes
Prerequisites:
Node.js 22+recommendednpm
Install:
npm installRun frontend:
npm run devRun backend:
npm run serverBuild:
npm run buildLint:
npm run lintGrowth review:
npm run report:growthThis generates output/growth/growth-review.md from the paid traffic tracker and current reels planning files.
Important frontend env vars:
VITE_GTM_CONTAINER_IDVITE_GA_MEASUREMENT_IDVITE_YM_COUNTER_IDVITE_POSTHOG_KEYVITE_POSTHOG_HOSTVITE_SENTRY_DSNVITE_DEV_API_PROXY_TARGETVITE_CONTACT_EMAILVITE_CONTACT_TELEGRAMVITE_CONTACT_FACEBOOKVITE_CONTACT_INSTAGRAM
Important backend env vars:
API_AUTH_SECRETPUBLIC_BASE_URLCORS_ALLOWED_ORIGINSINITIAL_COINSROBOKASSA_MERCHANT_LOGINROBOKASSA_PASSWORD1ROBOKASSA_PASSWORD2ROBOKASSA_SUCCESS_URLROBOKASSA_FAIL_URLSHOP_PACKS_JSON
Reference values and setup details:
.env.exampleROBOKASSA_SETUP.md
- Wallet state is stored in
data/wallet-state.sqlite. - Orders are stored in SQLite and credited through Robokassa Result URL handling.
- The backend uses signed player sessions via
API_AUTH_SECRET. - Legacy JSON wallet state can be migrated into SQLite on first run.
Use these files as the main control layer for the product:
- product strategy hub:
../../02_Strategy/NebulaClashHypotheses/README.md - master metrics:
../../02_Strategy/NebulaClashHypotheses/Product/NebulaClash_Master_Metrics.md - economy and goals:
../../02_Strategy/NebulaClashHypotheses/Product/NebulaClash_Economy_And_Goals.md - hypothesis backlog:
../../02_Strategy/NebulaClashHypotheses/Product/NebulaClash_Hypothesis_Backlog.md
- grow reliable traffic from short-form content and paid tests
- improve first-session conversion into
checkout_start - improve repeat play and return behavior
- keep monetization flow stable and measurable
progress.mdis the best implementation changelog.- This README is intentionally product-oriented, not a generic Vite template.
ops/n8n/contains a separate automation starter for weekly growth review workflows.