Boomer Calculator
Search the build
-
2df03e32026-09-11 Record native build 8 installation and device handoff -
8dffd182026-09-11 Verify Boomer build 8 cloud signing and Apple validation -
f7093c72026-09-11 Record signing export blocker after approval relay -
2395cbf2026-09-11 Verify live calculator and retain local iOS build 8 signing handoff -
90c4eaa2026-09-11 Compile current calculator source before math tests -
91a93122026-09-11 Replace hardcoded calculator answers with real validated calculations -
a4a5c862026-09-11 auto-data-snapshot: 2026-09-11T09:31:49 (4 data files) — out/index.txt out/privacy.txt out/support.txt verification/TK-11230/calculator/browser-proof.json -
0cbc4d62026-09-11 Record verified live Boomer privacy deployment -
56c7fa92026-09-11 Correct Boomer privacy disclosures for advertising and device permissions -
3d68d132026-09-11 auto-data-snapshot: 2026-09-11T08:16:47 (3 data files) — out/index.txt out/privacy.txt out/support.txt -
eabf3632026-09-10 privacy: disclose AdMob/AdSense, SKAdNetwork and ATT (TK-11230) -
99825b42026-09-03 Build AdSense-ready Boomer Calculator release -
dd65f292026-09-03 auto-data-snapshot: 2026-09-03T09:53:05 (3 data files) — out/index.txt out/privacy.txt out/support.txt -
94479b62026-09-03 Record Boomer Calc App Review submission proof -
45063442026-09-02 Correct App Store privacy submission guidance -
9be16822026-08-07 Boomer Calc: wire REAL AdMob ids (app ~7368317108, banner /7591678383) + production mode -
0c67b542026-08-07 Boomer Calc: replace in-app AdSense with AdMob (platform-split) for App Store compliance -
a61ccec2026-08-07 Boomer Calc: flag embedded AdSense — blocks 'Data Not Collected' claim + violates AdSense-in-app policy; document strip-vs-AdMob options -
b8861252026-08-07 Boomer Calc: rewrite App Store copy to match the always-67 gag + add 6.9" screenshots -
e7e1fc82026-08-06 ios: build 6 for 1.0.1 resubmit (fixed icon) — bump CURRENT_PROJECT_VERSION 5→6, add exportOptions -
539d6882026-08-06 auto-save: 2026-08-06T08:19:59 (10 files) — out/404.html out/_next/static/mixwsaj5CRtCqWWmaY4KW/_buildManifest.js out/_next/static/mixwsaj5CRtCqWWmaY4KW/_ssgManifest.js out/index.html out/index.txt -
067a7cc2026-08-06 auto-save: 2026-08-06T07:19:35 (10 files) — out/404.html out/_next/static/pALTZY5P7-4elhTo_WMOr/_buildManifest.js out/_next/static/pALTZY5P7-4elhTo_WMOr/_ssgManifest.js out/index.html out/index.txt -
5bcc5d52026-08-06 bump iOS to 1.0.1 (5) for App Store resubmission; add ASC API helper + export options -
0c7609d2026-08-06 auto-save: 2026-08-06T06:49:23 (5 files) — capacitor.config.ts ios/App/App.xcodeproj/project.pbxproj ios/App/App.xcworkspace/contents.xcworkspacedata ios/App/Podfile.lock out/ -
79173412026-08-05 real branded app icon set (retro 67 calculator) — fixes App Store Guideline 2.3.8 placeholder-icon rejection -
a469a522026-08-05 add AdSense loader + ads.txt (Phase 1 monetization) -
d5b139c2026-06-03 chore(gitignore): add canonical .env* and *.bak ignore patterns -
bd65ddf2026-05-07 tighten .gitignore: add missing standing-rule patterns (tmp/ *.log dist/) -
4abb75b2026-05-06 initial snapshot — gitify all builds (CLAUDE.md rule 2026-05-06)
Authors
- Steve21
- steve5
- auto-commit-fleet3
Agents used
Skills used
- /index7
- /static4
- /privacy3
- /support3
- /calculator1
- /browser-proof1
- /admob1
- /project1
- /contents1
Creative ideas + design notes
eabf363 · 2026-09-10 · privacy: disclose AdMob/AdSense, SKAdNetwork and ATT (TK-11230)
The published policy stated Boomer Calc 'does not integrate with any third-party services, analytics platforms, or advertising networks' and that 'no data is collected or transmitted'. Both were false: the binary ships real AdMob ids, SKAdNetworkItems and NSUserTrackingUsageDescription, and the web build serves AdSense. Apple's automated 2.3.6 check caught the related Age Rating omission (now set to Advertising=Yes). It did NOT cite the privacy page — but three apps on this account are already cited under Guideline 5.6 for misleading behavior, so a live policy contradicting the shipped binary was the most exposed remaining item. Surgical fix, not a rewrite: the calculator genuinely collects nothing (no localStorage, no fetch, no analytics outside the ad component), so that accurate claim is preserved and only the advertising statements are corrected. NOT DEPLOYED — boomercalc.com deploy is customer-facing and remains gated. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
0c67b54 · 2026-08-07 · Boomer Calc: replace in-app AdSense with AdMob (platform-split) for App Store compliance
- AdSense now web-only (runtime Capacitor.isNativePlatform() gate); never injected in the native app - Add @capacitor-community/admob 7.2.0 + native banner (Google TEST ids) w/ ATT - Info.plist: GADApplicationIdentifier + NSUserTrackingUsageDescription + SKAdNetwork - cap sync ios (pod installed); web build verified - Update store copy privacy to Third-Party Advertising + real-id swap checklist
e7e1fc8 · 2026-08-06 · ios: build 6 for 1.0.1 resubmit (fixed icon) — bump CURRENT_PROJECT_VERSION 5→6, add exportOptions
Rebuilt + uploaded to ASC via xcodebuild -allowProvisioningUpdates + team ASC API key (no interactive Apple login needed). Carries the real retro-67 calculator icon that fixes the Guideline 2.3.8 placeholder-icon rejection. Build 6 uploaded OK.
File tree
- .gitignore
- APP_STORE_ASSETS_CHECKLIST.md
- APP_STORE_COPY_PASTE.txt
- DEPLOY.md
- FEATURES.md
- FINAL_STEPS_WHEN_READY.md
- FINAL_SUBMISSION_GUIDE.md
- README.md
- XCODE_AND_APPSTORE_GUIDE.md
- app/globals.css
- app/icon.svg
- app/layout.tsx
- app/page.tsx
- app/privacy/page.tsx
- app/support/page.tsx
- capacitor.config.ts
- components/Ads.tsx
- components/BMICalculator.tsx
- components/MortgageCalculator.tsx
- components/ScientificCalculator.tsx
- components/TipCalculator.tsx
- ios/.gitignore
- ios/App/App.xcodeproj/project.pbxproj
- ios/App/App.xcworkspace/contents.xcworkspacedata
- ios/App/App.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
- ios/App/App/AppDelegate.swift
- ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png
- ios/App/App/Assets.xcassets/AppIcon.appiconset/Contents.json
- ios/App/App/Assets.xcassets/Contents.json
- ios/App/App/Assets.xcassets/Splash.imageset/Contents.json
- ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732-1.png
- ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732-2.png
- ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732.png
- ios/App/App/Base.lproj/LaunchScreen.storyboard
- ios/App/App/Base.lproj/Main.storyboard
- ios/App/App/Info.plist
- ios/App/Podfile
- ios/App/Podfile.lock
- ios/App/exportOptions.plist
- lib/calculations.ts
- next.config.js
- out/404.html
- out/_next/static/_2SGBk7EQqSWs9NeyvHFM/_buildManifest.js
- out/_next/static/_2SGBk7EQqSWs9NeyvHFM/_ssgManifest.js
- out/_next/static/chunks/117-ea0db1a6324509e4.js
- out/_next/static/chunks/507.2e7eb729d908e63a.js
- out/_next/static/chunks/906.1c4cb6e320f8c4c8.js
- out/_next/static/chunks/app/_not-found/page-4b9eb8aab41bf6df.js
- out/_next/static/chunks/app/layout-f61ae32ec34132b3.js
- out/_next/static/chunks/app/page-1dfce1602fdbe058.js
- out/_next/static/chunks/app/privacy/page-9604f702bf47547e.js
- out/_next/static/chunks/app/support/page-3127a630dc2fc21d.js
- out/_next/static/chunks/fd9d1056-9f91b5e418130764.js
- out/_next/static/chunks/framework-f66176bb897dc684.js
- out/_next/static/chunks/main-9b395a6b308358c3.js
- out/_next/static/chunks/main-app-db613fed919dc4ab.js
- out/_next/static/chunks/pages/_app-72b849fbd24ac258.js
- out/_next/static/chunks/pages/_error-7ba65e1336b92748.js
- out/_next/static/chunks/polyfills-42372ed130431b0a.js
- out/_next/static/chunks/webpack-9bb46ca1fa3f9a7b.js
- out/_next/static/css/dbecb8d230e421c8.css
- out/_next/static/media/19cfc7226ec3afaa-s.woff2
- out/_next/static/media/21350d82a1f187e9-s.woff2
- out/_next/static/media/8e9860b6e62d6359-s.woff2
- out/_next/static/media/ba9851c3c22cd980-s.woff2
- out/_next/static/media/c5fe6dc8356a8c31-s.woff2
- out/_next/static/media/df0a9ae256c0569c-s.woff2
- out/_next/static/media/e4af272ccee01ff0-s.p.woff2
- out/ads.txt
- out/favicon.svg
- out/icon-192.png
- out/icon-512.png
- out/icon.svg
- out/index.html
- out/index.txt
- out/manifest.json
- out/privacy.html
- out/privacy.txt
- out/support.html
- out/support.txt
- package-lock.json
- package.json
- postcss.config.js
- public/ads.txt
- public/favicon.svg
- public/icon-192.png
- public/icon-512.png
- public/icon.svg
- public/manifest.json
- store-assets/screenshots/01-calculator.png
- store-assets/screenshots/02-result.png
- tailwind.config.ts
- tests/calculations.cjs
- tests/calculator-ui.cjs
- tsconfig.json
- vercel.json
- verification/TK-11230/calculator-decision/VERDICT.md
- verification/TK-11230/calculator-decision/claude.txt
- verification/TK-11230/calculator-decision/codex-debate.txt
- verification/TK-11230/calculator-decision/codex.txt
- verification/TK-11230/calculator-decision/grok.txt
- verification/TK-11230/calculator-decision/kimi.txt
- verification/TK-11230/calculator-decision/muse.txt
- verification/TK-11230/calculator-decision/qwen.txt
- verification/TK-11230/calculator-live/browser-proof.json
- verification/TK-11230/calculator-live/chrome-desktop-arithmetic.png
- verification/TK-11230/calculator-live/chrome-desktop-tip.png
- verification/TK-11230/calculator-live/chrome-touch-arithmetic.png
- verification/TK-11230/calculator-live/chrome-touch-tip.png
- verification/TK-11230/calculator-live/video/3e770b63cc75aee7cacaab67886f63c5.webm
- verification/TK-11230/calculator-live/video/4346793692e82a0c3a8316705ceecf46.webm
- verification/TK-11230/calculator-live/video/577e8f7d137469bc9acd021e414d4387.webm
- verification/TK-11230/calculator-live/webkit-arithmetic.png
- verification/TK-11230/calculator-live/webkit-tip.png
- verification/TK-11230/calculator-parent/browser-proof.json
- verification/TK-11230/calculator-parent/chrome-desktop-arithmetic.png
- verification/TK-11230/calculator-parent/chrome-desktop-tip.png
- verification/TK-11230/calculator-parent/chrome-touch-arithmetic.png
- verification/TK-11230/calculator-parent/chrome-touch-tip.png
- verification/TK-11230/calculator-parent/video/49b875a65b651b4d1d2f867e8bc6650f.webm
- verification/TK-11230/calculator-parent/video/6f5659067ffc82ee4ec98527a3762c8b.webm
- verification/TK-11230/calculator-webkit/browser-proof.json
- verification/TK-11230/calculator-webkit/chrome-desktop-arithmetic.png
- verification/TK-11230/calculator-webkit/chrome-desktop-tip.png
- verification/TK-11230/calculator-webkit/chrome-touch-arithmetic.png
- verification/TK-11230/calculator-webkit/chrome-touch-tip.png
- verification/TK-11230/calculator-webkit/video/56bb235ec492dc0a7b1dc3022605ecd8.webm
- verification/TK-11230/calculator-webkit/video/ad7355e24816314c6681184c6ebeb5e1.webm
- verification/TK-11230/calculator/browser-proof.json
- verification/TK-11230/calculator/chrome-desktop-arithmetic.png
- verification/TK-11230/calculator/chrome-desktop-tip.png
- verification/TK-11230/calculator/chrome-touch-arithmetic.png
- verification/TK-11230/calculator/chrome-touch-tip.png
- verification/TK-11230/calculator/e2e-proof.json
- verification/TK-11230/calculator/video/1577b22c47324d6c80bd83c3da6450c1.webm
- verification/TK-11230/calculator/video/4902d1adbfcda26eb759a7ca983ebe59.webm
- verification/TK-11230/calculator/video/7ea3fa42c7246c5f4b9f05a0da6dda18.webm
- verification/TK-11230/calculator/video/b5e0b44ab1f0750156d18979f3e738fd.webm
- verification/TK-11230/calculator/video/cbd01281c9e46ad314463a7fbcd7f38a.webm
- verification/TK-11230/deployment-plan.json
- verification/TK-11230/e2e-proof.json
- verification/TK-11230/live/browser-proof.json
- verification/TK-11230/live/privacy-desktop.png
- verification/TK-11230/live/privacy-mobile.png
- verification/TK-11230/local/browser-proof.json
- verification/TK-11230/local/privacy-desktop.png
- verification/TK-11230/local/privacy-mobile.png
- verification/TK-11230/native-build8/CLOUD-SIGNING.md
- verification/TK-11230/native-build8/apple-validation.json
- verification/TK-11230/native-build8/approval-relay-recheck.json
- verification/TK-11230/native-build8/cloud-signing-decision/claude.txt
- verification/TK-11230/native-build8/cloud-signing-decision/codex-debate.txt
- verification/TK-11230/native-build8/cloud-signing-decision/codex.txt
- verification/TK-11230/native-build8/cloud-signing-decision/grok.txt
- verification/TK-11230/native-build8/cloud-signing-decision/kimi.txt
- verification/TK-11230/native-build8/cloud-signing-decision/muse.txt
- verification/TK-11230/native-build8/cloud-signing-decision/question.txt
- verification/TK-11230/native-build8/cloud-signing-decision/qwen.txt
- verification/TK-11230/native-build8/cloud-signing-proof.json
- verification/TK-11230/native-build8/e2e-proof.json
- verification/TK-11230/native-build8/export-failure.txt
- verification/TK-11230/native-build8/native-install-proof.json
- verification/e2e-proof.json