Skip to content

RB-003 — PopOff Pro Development Tier Runbook

Atlantis ITS / PopOff
Status: Draft
Purpose: Create a safe development fork of the existing PopOff Expo app to prototype Pro features without disturbing the current Google Play closed testing build.
Target folder: C:\AtlantisITS\Apps\popoff-pro
Source folder: C:\AtlantisITS\Apps\popoff
Recommended owner: Shane / Mercy-Codex / Cooper-Code
Last updated: 2026-05-23


1. Current State

The existing PopOff app lives at:

C:\AtlantisITS\Apps\popoff

It appears to be the active Expo / React Native project used for the Google Play closed testing path.

Current known state:

Google Play closed testing: 7 / 12 testers
Current package: co.atlantisits.popoff
Web/demo/support surface: popoff.atlantisits.ai

Do not disrupt the existing closed testing app while building Pro features.


2. Product Direction

Free PopOff

25 cards per topic
Topics: RIZZ, ROASTS, PUNS, JOKES, MAMA
Basic card swipe experience
Sound toggle
Haptics
Free deck split: 4 weak / 17 normal / 4 elite

PopOff Pro Prototype

150 cards per topic
Soundboard feature
Expanded elite/high-impact content
Pro visual treatment
Possible future IAP unlock

3. Architecture Recommendation

Use popoff-pro as a development fork only for now.

Recommended long-term production path:

One app package: co.atlantisits.popoff

Free mode:
- 25 cards/topic

Pro unlock:
- 150 cards/topic
- Soundboard
- Future in-app purchase gate

Avoid submitting a separate Pro app unless deliberately chosen later. A separate Pro app would require:

Separate package name
Separate Play Store listing
Separate testing/review path
Separate privacy/data forms
More long-term maintenance

4. Create the Pro Fork

Open PowerShell:

cd C:\AtlantisITS\Apps
Copy-Item -Path .\popoff -Destination .\popoff-pro -Recurse

Remove generated/heavy folders from the copy:

cd C:\AtlantisITS\Apps\popoff-pro

Remove-Item -Recurse -Force .expo,node_modules,dist -ErrorAction SilentlyContinue

Reinstall dependencies:

npm install

5. Update App Identity

Open:

C:\AtlantisITS\Apps\popoff-pro\app.json

Look for:

{
  "expo": {
    "name": "PopOff",
    "slug": "popoff",
    "android": {
      "package": "co.atlantisits.popoff"
    }
  }
}

For the Pro fork, change to:

{
  "expo": {
    "name": "PopOff Pro",
    "slug": "popoff-pro",
    "android": {
      "package": "co.atlantisits.popoffpro"
    }
  }
}

Important: Only use co.atlantisits.popoffpro for local/prototype builds unless the team decides to publish a separate Play Store Pro app.


6. Add Pro Notes File

Create a notes file:

@"
# PopOff Pro

Development fork for testing:
- 150 cards per topic
- Soundboard
- Pro UI treatment
- Future IAP unlock path

Long-term recommendation:
Merge Pro features back into main PopOff behind an unlock flag or IAP gate.
"@ | Set-Content .\PRO-VERSION-NOTES.md

7. Run Project Health Checks

From:

cd C:\AtlantisITS\Apps\popoff-pro

Run:

npx expo-doctor
npx expo start

If Expo launches successfully, test:

App opens
Fonts load
Topics render
Cards swipe
Sound toggle works
Haptics do not crash
No red-screen errors

8. Locate Deck/Card Data

Search the likely content folders.

PowerShell:

Get-ChildItem -Recurse .\data, .\constants, .\app, .\components | Select-Object FullName

WSL alternative:

cd /mnt/c/AtlantisITS/Apps/popoff-pro
find data constants app components -maxdepth 3 -type f | sort

Likely locations:

data/
constants/
app/
components/

Goal: find where the topic card arrays live.


9. Add a Pro Feature Flag

Create or update a config file, such as:

constants/edition.ts

Suggested content:

export const POP_OFF_EDITION = "pro";

export const LIMITS = {
  freeCardsPerTopic: 25,
  proCardsPerTopic: 150,
};

export const FEATURES = {
  soundboard: true,
  proDecks: true,
};

Later, the main app can use the same pattern:

if (isPro) {
  // show 150 cards and soundboard
} else {
  // show 25-card free deck
}

10. Pro Content Expansion Plan

Do not expand all topics at once.

Phase 1 — One Topic Proof

Pick one topic first, recommended:

ROASTS

Build it to:

150 cards total
Balanced weak / normal / elite tiers
No duplicates
No content that violates store policy

Phase 2 — Validate UX

Confirm:

Cards still load quickly
Swipe behavior remains smooth
Elite sound logic still works
No content array crashes
No memory/performance issues

Phase 3 — Expand Remaining Topics

Repeat for:

RIZZ
PUNS
JOKES
MAMA

11. Soundboard Feature Plan

Suggested approach:

Add a Soundboard tab/screen
Use existing sound infrastructure if expo-av is already wired
Keep sound toggle respected globally
Start with 6–10 sound buttons
Do not overload first version

Possible soundboard categories:

Airhorn
Daaamn
Applause
Rimshot
Bruh
Victory
Fail
Crowd gasp

Implementation targets to inspect:

assets/
hooks/
components/
app/

Search for current audio code:

cd /mnt/c/AtlantisITS/Apps/popoff-pro
grep -RIn "expo-av\|Audio\|sound\|sfx\|haptic\|Haptics" app components hooks lib constants data 2>/dev/null

12. Build Strategy

For local testing:

npx expo start

For Android internal prototype build:

eas build -p android --profile preview

For production-style AAB:

eas build -p android --profile production

Before any EAS build, check:

eas whoami
eas build:list -p android --limit 5

13. Safety Rules

Do not:

Disturb the current PopOff closed testing build
Change the production package name in the original popoff folder
Submit popoff-pro to Play Store without a deliberate decision
Add unreviewed content that could violate Google Play policy
Commit secrets or local build credentials
Delete existing builds before confirming backups

Do:

Use popoff-pro as a sandbox
Commit changes frequently
Keep Pro features behind flags where possible
Document card count changes
Test one topic before expanding all topics
Preserve the original app as the closed testing track

14. Git Workflow

From the Pro fork:

cd C:\AtlantisITS\Apps\popoff-pro
git status

If .git was copied from the original app, decide whether to keep history or reinitialize.

Option A — Keep Git History

git checkout -b feature/popoff-pro-sandbox
git add .
git commit -m "Create PopOff Pro development fork"

Option B — Reinitialize Fresh

Only do this if you want popoff-pro to become a separate repo:

Remove-Item -Recurse -Force .git
git init
git branch -M main
git add .
git commit -m "Initialize PopOff Pro development fork"

15. Future Merge-Back Plan

If Pro features are successful, merge the useful parts back into the main app:

Feature flags
150-card data model
Soundboard screen
Pro unlock gate
IAP integration
Pro UI polish

Final recommended model remains:

Single PopOff app
Free experience by default
Pro unlocked by IAP

16. Quick Resume Checklist

When picking this back up later:

[ ] Confirm current Google Play closed test status
[ ] Copy popoff → popoff-pro
[ ] Remove generated folders
[ ] npm install
[ ] Update app.json name/slug/package
[ ] Add PRO-VERSION-NOTES.md
[ ] Run npx expo-doctor
[ ] Run npx expo start
[ ] Locate deck data
[ ] Add Pro feature flag
[ ] Expand one topic to 150 cards
[ ] Add soundboard prototype
[ ] Test on Android
[ ] Decide: merge back as IAP or keep separate Pro fork

17. Status

Runbook drafted.
Implementation not started.
Recommended next action: create popoff-pro fork when time allows.