Skip to content

Minigame platform: phasing and MVP ​

For the product owner. Companion to PRODUCT-OVERVIEW.md, which describes every feature. This document says what we launch first, what comes next, and how the business and the system work together.Draft of 2026-11-10. Phase contents are suggestions for you to confirm (see "Decisions for you" at the end).


1. The idea ​

Most features are already built. So the phases are not a build order. They are what we switch on, sell and promise at each stage, plus the few things still missing before we can honestly do that.

Rule for the MVP: a brand can be set up end to end, a real player can play and win, the brand can see whether it paid off, and we can start and stop the license, without us promising anything we can't keep.

The MVP is phase 1 only. Phase 2 is growth. Phase 1 is deliberately large, and that was a decision, not an accident (section 9 says how to keep it safe).

2. Phase summary ​

PhaseThemeWho it's forExit test
1: MVPThe full direct-sales product: several brands, several campaigns each, three games, prizes and the prize library, ads and store links, analytics, survey and journey editor, templates, time-limited grants, games as grants, "client manages" switches, and licensesOur first direct-sales customers (we are owner and agency)A brand runs several real campaigns, sees what each earned, and we can switch it off when the contract ends
2: ScalePartner agencies, custom "powered by", tighter roles, anti-cheatReseller agenciesFirst partner agency live

3. The selling model ​

We sell in phase 1 directly to brands. Everyone below the owner is a level of the same system, so adding a partner agency later (phase 2) needs no redesign.

Two sales cases, one system

What each level controls

What a brand can use is always the overlap of its own license and its agency's license. When the agency's license ends, all of its brands stop with it.

4. The operating model: how each actor acts on the system ​

4.1 Actors and what they do ​

4.2 Setting up a new customer (phase 1 checklist as a sequence) ​

4.3 A player plays and wins ​

4.4 Campaign lifecycle and prize stock ​

4.5 License lifecycle ​

5. Phase 1: MVP ​

5.1 Players (what the public sees) ​

ItemNotes
Open the campaign link on a phone, no loginRoot campaign at /, others at /c/{slug}
Journey: intro → player info → rules → play → result → prize walletDefault journey only
Three games: wheel (Vòng quay), scratch card (Thẻ cào) and mystery bag (Túi mù)Which games a client may use is a grant (see 5.2)
Custom journey: reorder or remove screens, show screens by condition (won or lost, first visit, lucky time, mobile or desktop)Only if the client has the journey-editor grant
Survey after the prizeOnly if the client has the survey grant
Video before the game, skippable after N secondsOnly if the client has the video grant
Prize drawn by the system, respecting stock and weights, safe under heavy traffic
Prize wallet with an optional countdown
Winners list (trophy button)
One play per browser, and the last-chance noticePer browser, not per person (section 8)
Branch and "referred by" fields
Coming-soon page with countdown before the start date, closed page after the end date or license expiry
Ads and product catalogue in the wallet: banners, a timed full-screen ad, products with Shopee, Lazada, TikTok Shop, Tiki or website linksBrands that buy the premium ads package
Native look on every screen size, with the brand's background, logo, colours and copy
"Powered by Gomini" footerFixed in phase 1

5.2 Setup and operation (owner, agency and brand admin) ​

AreaItem
Multi-clientSwitch on Nhiều khách hàng. Add and rename clients. Each client has its own license, quota, grants and users.
Multi-campaignCreate, rename, archive and restore campaigns. Name, link (3–40 characters), change of link until the first player. Scheduled start date, end date. Quota shown as "Đã dùng n/max chương trình".
Switcher and invitesPick a client and a campaign from the sidebar. Agency invites brand admins and owner invites agency staff by email sign-up.
LookDefault (Impakt) or Gym3 template, colours, fonts, background, copy, header and footer, phone preview. Template import and export for designers (owner, or agency with the import grant).
Games as grants (new build)The owner decides which game types (wheel, scratch card, mystery bag) an agency may use. The agency decides which each client may use. Same two-level rule as the other features.
Journey editor and surveyPage Kịch bản (reorder, remove, conditions). Survey questions and the response page.
"Client manages" switchesPer client, the agency decides whether the brand edits its own prizes, look and journey, or the agency does it all (brand gets a read-only view).
Prize library (Kho giải thưởng)A per-brand library. Assigning a prize to a campaign holds a share, and the unused share returns when the campaign ends. A stock log is kept. Agency edits it, or the brand edits it if the agency allows.
PrizesName, image, stock, weight, "no prize" slices. Lucky time slots and "every N-th play" prizes.
RewardsWinners and their details, redeemed status, Excel export
AdsBanner per screen, timed ad, product catalogue with store links. House ads fill the slots of brands without the premium package. Affiliate-link override by owner or agency, visible but locked to the brand, with the stale-link check.
Analytics (Thống kê)Plays by hour and day, redemption rate, leads by phone, referrers, store-button clicks (own vs affiliate), prize payoff, compare clients for the agency. Test plays by logged-in admins are ignored.

5.3 Licenses (in the MVP, because without them we can't stop a customer who doesn't pay) ​

ItemNotes
Agency license (set by the owner): window, expiry mode, max clients, max campaigns
Client license (set by the agency): window, expiry mode, max campaignsNew clients start with 1 campaign
Expiry mode per customer: lock everything, admin read-only, lock players only
Warning banner in the last 7 days
Play quota with grace periodHow we sell "up to N plays"
Grants, permanent or time-limited, and the packages Cơ bản, Nâng cao and Premium quảng cáo; feature switches per brandA grant can run for a date range ("premium ads for Nov and Dec"), and each feature in it can have its own dates. Analytics stays permanent only.
The owner is never locked out. The agency can always step into an expired client.
Enforced on the server, so it can't be bypassed from the browser

5.4 What is not in phase 1 ​

Partner agencies, custom "powered by", roles below full admin, anti-cheat, live preview of a custom journey, real-brand demo copies. These are phase 2.

Packages: Cơ bản (including lucky times and "every N-th play"), Nâng cao (survey, video ad, mystery bag, journey editor) and Premium quảng cáo. The contents are still placeholders.

5.5 What must be done before we call it MVP ​

#ItemWhy it blocks
1Player data lockdown, second stepToday winners' names, phones and branches can technically be read by anyone with technical skills. The first step is built. The second step is built later and only after the first has been live on that site for at least a day. We can't take real players' data until it is done.
2Games as grantsThe one genuinely new build in phase 1. Everything else here exists. The owner and agency need a way to allow or deny each game per level, enforced on the server like the other grants.
3Real packages and pricesPackage contents are placeholders.
4Staging site and release routineDeploys are manual today. Automatic deploy from the main branch to staging is planned.
5A full real-phone run, on all three gamesA real prize, a real winner and a redemption at a counter, with several campaigns, a brand login, ads on, and the survey and journey editor switched on for one brand.
6Load check on stagingA few hundred real plays before launch day.
7Vietnamese copy sign-offA few new strings were never approved by you.
8Decisions in section 9Mostly the open rulings from the build, such as prize library and midnight end behaviour.

Order of work: 1 first, because the prize library's end-of-campaign count must stay readable after the lockdown, so they must be tested together. Do 2 early too, since the other grants and the packages depend on how it is shaped.

5.6 Phase 1 exit test ​

  1. A brand is set up from nothing, following the checklist in 4.2, in under a day.
  2. The brand runs at least two campaigns, one live and one scheduled, with prizes from one library.
  3. Players win real prizes and a winner redeems at a counter.
  4. The brand reads its analytics and finds the numbers believable.
  5. A technical person cannot read players' details from outside.
  6. We end a license on its end date and the game closes by itself.
  7. For one brand we grant a game and the Nâng cao package for two months, then confirm both switch off by themselves when the dates pass.
  8. A brand set to "agency manages" sees a read-only view, and the same brand switched to "client manages" can edit.

6. Phase 2: scale ​

Exit test: the first partner agency is live and sells to its own brands without us touching their setup.

ItemWhy
Partner agencies: we are owner only, they resellBigger channel. Agency license, client limit, own staff.
Custom or hidden "powered by" per agencyNegotiated deals
Roles below full admin (viewer, staff)Today every brand login is a full admin
Anti-cheat: spoof detection, harder "one play per person"Today the limit is per browser
Live preview in the journey editor
"Replace anyway" for unreadable saved templates
Real-brand demo copiesFor prospects, instead of the generic sample brand
Billing and self-service sign-upNot planned. Full SaaS stays possible later.

8. What not to promise in phase 1 ​

Don't promiseWhy
"Player data is compliant (for example with Decree 13)"Only after the data lockdown is live on that customer's site. Even then, check with the dev team.
"One play per person"It is per browser
"Your own powered-by logo"Phase 2
"Different staff roles"Phase 2
"Partner agencies can resell now"Phase 2
"Preview of a custom journey in the editor"Phase 2. Test with the full-screen preview or a real phone.
"Prices and package contents"Placeholders until you decide them
"Analytics covers everything"It covers plays, redemptions, leads, referrers and store clicks. It is not a full BI tool.

9. Risks ​

RiskWhat to do
Phase 1 is large (accepted)Run the exit test early and often, not once at the end. If time runs short, cut in this order: template import, then the Nâng cao package (survey, video, journey editor), then Premium ads. Brands can launch without them. Don't cut the lockdown, licenses or the prize library.
Games as grants is new work and touches the rulesBuild it first among the new items, test it with the license rules tests, and use the same two-level pattern as the existing grants
Many switches interact (license, grants, client-manages, expiry mode)Keep one test matrix of "who can do what in each state" and run it before every release
Customers start before the data lockdown is liveMake the lockdown a hard gate in the launch checklist
Packages and prices stay placeholdersDecide them before the first contract
Prize library settling is wrong at campaign endTest ended, archived and manually ended campaigns, and the midnight end-date case
Heavy traffic on launch dayTest on staging first
One person doing setup, demo, release and supportKeep the setup checklist short and use the demo environment to practise

10. Decisions for you ​

  1. Direct sales only in phase 1 (we are owner and agency), as drawn in section 3? Or a partner agency is ready now?
  2. Ads in phase 1 means brand ads and house ads. Do affiliate links ship too? Suggested: yes, since they are what makes the store links earn.
  3. Analytics is permanent-grant only. Is that OK for phase 1?
  4. Packages and prices. What is in Cơ bản, Nâng cao and Premium quảng cáo? And does the mystery bag sit in Nâng cao, or is it sold on its own?
  5. Video before the game was not in your list. I put it in phase 1 with Nâng cao because it belongs with survey and the journey editor. Confirm.
  6. Games as grants: is it enough to allow or deny per game type, or do you also want limits, such as "one game at a time per brand"?
  7. Midnight end-date behaviour. A campaign that ends at midnight replaces a game in progress with the closed screen. Accept, or let the player in progress finish?
  8. Prize library rulings the build made for you: converting to "no prize" keeps remaining stock as the cap, and settling counts winners of merged prizes. Accept?
  9. Who may edit the prize library? Suggested: the agency by default, with a per-brand switch to let the brand do it.
  10. When do you want the demo environment in front of prospects? It exists now and could be used before the MVP launch.