Skip to content

Refresh mobile app with boop branding#173

Merged
brianorwhatever merged 15 commits intomainfrom
mobile/brand-refresh
Apr 23, 2026
Merged

Refresh mobile app with boop branding#173
brianorwhatever merged 15 commits intomainfrom
mobile/brand-refresh

Conversation

@brianorwhatever
Copy link
Copy Markdown
Contributor

Summary

Brings the Capacitor mobile wrapper in line with the boop web rebrand (shipped in c0f3d5b). Pre-launch, so bundle-ID rename is safe.

  • New icon + splash: violet #6b3cff tile with cream b (Nunito Black), and cream/ink splashes with a centred violet dot. Replaces the previous broken pipeline that rendered a tofu-box because the emoji font wasn't loaded.
  • Identifier rename: app.trypoo.appad.boop.app across Capacitor config, iOS PRODUCT_BUNDLE_IDENTIFIER (both configs), iOS CFBundleDisplayName, Android applicationId + namespace + strings.xml, Java package, and Fastlane.
  • Asset pipeline: new scripts/generate-icons.mjs renders three source masters; @capacitor/assets (new devDep) produces and installs the full size matrix for both platforms via bun run generate:assets.
  • Copy sweep: "Poo App" → "boop", trypoo.appboop.ad (forward web domain), 💩 dropped from prose, NS*UsageDescription prompts rewritten, email sender updated, pooapp:* localStorage keys renamed to boop:* (no migration — user confirmed losing values is fine).

Test plan

  • Generator unit tests (node --test scripts/generate-icons.test.mjs) — 3/3 pass
  • E2E suite (bun run test:e2e) — 113/113 pass
  • iOS plutil -lint clean on Info.plist and project.pbxproj
  • Capacitor cap:sync completes without errors
  • Android ./gradlew assembleDebug (blocked in this environment: no JDK — run on CI or a JDK-equipped machine)
  • Open ios/App/App.xcworkspace, build for simulator, confirm icon + display name + camera permission prompt render as "boop"
  • npx cap run android on a device, confirm adaptive icon + app label
  • Manual smoke on a physical device for icon, splash, and first-launch permission prompts

Follow-ups not in this PR

  • Three orphaned pre-existing splash-2732x2732*.png files in ios/App/App/Assets.xcassets/Splash.imageset/ (pre-date this branch; unreferenced by Contents.json)
  • specs/overview.md remains a local file; future specs route to Obsidian per repo convention

🤖 Generated with Claude Code

brianorwhatever and others added 15 commits April 22, 2026 00:28
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replace "Poo App" → "boop", trypoo.app → ad.boop.app, pooapp scheme →
boop scheme across all prose, docs, and user-facing source strings.
Rewrite resources/README.md with brand-refresh pipeline description.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Correct three issues introduced by the Task 11 copy audit (2ad6553):
- Replace ad.boop.app URLs with boop.ad in sitemap, robots.txt, README,
  docs, src pages, webvh.ts, deep links docs, and convex comments
- Fix email sender in convex/feedback.ts from brian@boop.app to brian@boop.ad
- Fix all contact/support emails in Terms, Privacy, Landing pages to @boop.ad
- Rename all pooapp:* localStorage keys to boop:* across storage.ts,
  streaks.ts, OnboardingFlow.tsx, useSettings.tsx, Home.tsx, and e2e tests
- Simplify index.html dark mode bootstrap to read only boop:darkMode
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@brianorwhatever brianorwhatever merged commit 02835b2 into main Apr 23, 2026
5 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant