§ masterplan.md
Retro Pixel Game Hub
A nostalgic arcade-style site hosting simple browser games with pixel art, chiptune audio and high-score tables.
01
App overview and objectives
A hub for small pixel-art browser games with global leaderboards, a cosmetic shop and a devlog. Play instantly, no install, no account until you want your score on the board.
02
The problem worth solving
Small games die in app stores. A shared hub gives several tiny games one audience, one login and one leaderboard culture, which is what keeps players coming back daily.
03
Target audience
- Primary — Casual players looking for a five-minute game at a desk.
- Secondary — Indie developers wanting distribution for small titles.
04
Roles and permissions
- Visitor — read-only public pages, can sign up.
- Member — owns their own records, cannot see other users' data.
05
Core features
- Instant-play game grid with no install and no account required
- Global and weekly leaderboards with anti-cheat validation
- Player profile with achievements and play history
- Cosmetic shop for avatars and skins, purely visual
- Devlog with development posts and patch notes
- Community page for feedback and bug reports
Deliberately later
- Third-party developer submissions
- Tournaments with prizes
- Mobile-optimised control schemes
06
Technical stack
React shell hosting canvas games, Postgres for scores and profiles, server-side score validation.
Why: Leaderboards are worthless without server validation; the games themselves run entirely in the browser for zero marginal cost.
Alternatives: A game platform like a hosted portal (instant audience, revenue share and no control) or native apps (better monetisation, far slower iteration).
07
Conceptual data model
Game — slug, title, description, controls, thumbnail, version
Score — game, player, value, replay hash, validated, created_at
Player — handle, avatar, cosmetics owned, achievements
Purchase — player, item, price, provider reference
DevlogPost — game, title, body, published_at
08
Integrations
- Payments for cosmetics
- Analytics for session length
- Asset CDN
09
UI design principles
- Period-accurate details: pixel or bitmap type, dithered textures, chunky borders.
- Nostalgia must not cost usability — keep tap targets and contrast modern.
- Sound and animation are opt-in, never autoplay.
10
Security considerations
- Scores validated server-side with replay or checksum verification; never trust the client.
- Cosmetic-only monetisation avoids pay-to-win and keeps leaderboards meaningful.
- Handle moderation and profanity filtering on display names.
11
Development phases
Phase 1 — Prove the core
- — Instant-play game grid with no install and no account required
- — Global and weekly leaderboards with anti-cheat validation
- — Player profile with achievements and play history
- — Static content and design system in place
- — Basic analytics
Phase 2 — Make it real
- — Cosmetic shop for avatars and skins, purely visual
- — Devlog with development posts and patch notes
- — Community page for feedback and bug reports
- — Accounts, sign-in and password reset
- — Empty, loading and error states everywhere
Phase 3 — Polish and launch
- — Performance, accessibility and SEO pass
- — Legal pages, contact route and 404 handling
- — Wire up: Payments for cosmetics
- — Wire up: Analytics for session length
Phase 4 — Grow
- — Third-party developer submissions
- — Tournaments with prizes
- — Mobile-optimised control schemes
12
Challenges and solutions
Risk — Cheating destroys leaderboards
Solution — Replay verification, statistical outlier detection and a separate unverified board.
Risk — Games get stale
Solution — Weekly leaderboard resets and seasonal challenges keep old games fresh.
Risk — Asset loading on slow connections
Solution — Tiny pixel assets, sprite atlases and offline caching after first play.
13
Future expansion
- Developer revenue share
- Level editor and user-generated content
- Physical merchandise
14
Page list (13 pages)
- 01 PUBLIC Games — The arcade grid.
- 02 PUBLIC Leaderboard — Global and weekly rankings.
- 03 PUBLIC Shop — Cosmetics.
- 04 PUBLIC Community — Feedback, bugs and discussion.
- 05 PUBLIC Devlog — Development posts and patch notes.
- 06 AUTH Sign up — Create an account with email or a social provider.
- 07 AUTH Log in — Return to the account, with error and lockout states.
- 08 AUTH Reset password — Request a reset link and set a new password.
- 09 APP (signed in) Account settings — Profile, email, password, language and delete account.
- 10 PUBLIC Contact — Contact form plus real address, phone and email.
- 11 LEGAL & SYSTEM Privacy policy — What data is collected, why, and how to remove it.
- 12 LEGAL & SYSTEM Terms of service — Rules of use, liability and account termination.
- 13 LEGAL & SYSTEM 404 not found — Friendly dead end with search and links back.
15
Page map
PUBLIC AUTH APP (signed in) LEGAL & SYSTEM ────────────── ───────────────── ─────────────────── ─────────────────── ├─ Games ├─ Sign up └─ Account settings ├─ Privacy policy ├─ Leaderboard ├─ Log in ├─ Terms of service ├─ Shop └─ Reset password └─ 404 not found ├─ Community ├─ Devlog └─ Contact key flows: Games ──▶ Leaderboard Leaderboard ──▶ Shop Devlog ──▶ Games Community ──▶ Devlog
