Cadence app audit — executive summaryEXEC_SUMMARY.md · raw .md

Cadence app audit — executive summary

Decision

Question Answer Evidence
Can this build ship now? No. Full work order
Does the product need a rewrite? No. Fix the listed release and service failures. Full work order
What happens next? Close BLOCKER and HIGH rows, then pass every acceptance gate. Action list

Audit totals

Severity Rows Meaning
BLOCKER 8 Prevents submission, corrupts data, or stops an alarm.
HIGH 49 Causes wrong behavior during service.
MEDIUM 117 Degrades quality, resilience, or maintainability.
LOW 48 Cosmetic or narrowly scoped.
INFO 4 Checked-clear evidence.

Source: finding register.

Release blockers

Area Required outcome Evidence
Android signing Replace the debug certificate with protected release signing. Google readiness
iOS alarms Make the OS backstop ring while backgrounded and locked. iOS blockers
iOS icons Replace every Flutter placeholder with approved product artwork. Platform finding
Persistence Make zone-to-sound migration atomic and repeat-safe. Persistence finding
Timer clock Use suspend-aware elapsed time for duration expiry. Engine finding
Alarm volume Read back the Android alarm level and surface mismatches. Audio finding
Store setup Complete accounts, records, declarations, URLs, metadata, and assets. Google · Apple

Open decisions

Decision State Owner
Name Android and iOS ship as Cadence; no replacement has cleared; REQUIRES HUMAN REVIEW. the project owner and Serge
Seller entity Open; individual-first recommendation. the project owner and Serge
Pricing Open; free-launch recommendation. the project owner
Storefronts Open; French and English launch recommendation. the project owner
Bundle identifier Open before first upload. the project owner and Serge

Source: business decisions.

Implementation order

Order Action Exit proof
1 Resolve human decisions. Approved name, entity, pricing, storefronts, and identifier.
2 Fix all BLOCKER findings. Each named red/green test passes.
3 Fix all HIGH findings. Each named red/green test passes.
4 Complete both store-readiness tables. No missing required item remains.
5 Run analyzer, tests, mutation, coverage, signing, build, and device gates. Every acceptance criterion passes.

Use REPORT.md as the AI work order.

03 Business Decisionsresearch/03_business_decisions.md · raw .md

Decision 1 — Name: a distinctive word plus the product word

Recommendation

Do not adopt ChronoCook; reopen naming for a new distinctive root paired with Kitchen Timer. REQUIRES SERGE / HUMAN REVIEW. PassPilot Kitchen Timer was rejected by the owner on taste on 2026-08-04. ChronoCook has no exact published-app match and no exact mark in the three registers that returned usable results, but chronocook.com is an active exact-name cooking-software product, Google Play has a close ChronoChef kitchen timer, the CHRONO root has material software conflicts in France and the United States, and UKIPO returned HTTP 403. Full evidence and analysis: research/05_name_chronocook.md and its captures, retrieved 2026-08-04.

Candidate Store availability Trademark risk Domain Search-discovery value Market fit Decision
ChronoCook No exact requested-name match in the checked App Store or Google Play storefronts; close ChronoChef kitchen timer exists on Google Play. No exact full-word hit in EUIPO, INPI or USPTO; material exact-root software rights in INPI and USPTO; UKIPO unresolved after HTTP 403. .dev and .app appeared unregistered; .com is registered and runs an exact-name cooking app. Weak-to-moderate alone; Kitchen Timer subtitle recovers the strongest English category phrase, while French still needs minuteur cuisine. Linguistically strong in France and intelligible in Indian English, but exact same-field use is unacceptable. DO NOT ADOPT. Evidence: research/05_name_chronocook.md, retrieved 2026-08-04.
KitchenCue No exact match in the prior checked storefronts. Exact live United States KITCHENCUE registration 3309406 in class 9 for culinary educational media. Short .dev and compound .com appeared unregistered. Strong because it contains kitchen. Clear product association, but the exact culinary mark is too close. REJECT. Prior captures cited in this decision, retrieved 2026-08-04.
Cadence Kitchen Timer No exact compound match; bare Cadence exists on the App Store. High: EUTM 019227648 covers downloadable software and software services in classes 9 and 42. Full compound .dev and .com appeared unregistered. Strong because it contains kitchen timer. Professional but legally exposed through its dominant word. REJECT. Prior captures cited in this decision, retrieved 2026-08-04.
PassPilot Kitchen Timer No exact match in the prior checked storefronts. No exact/root hit in the three working registers; UKIPO unresolved after HTTP 403. Short .dev and compound .com appeared unregistered. Strong because it contains kitchen timer. Distinctive, but owner taste controls the branding decision. OWNER-REJECTED on 2026-08-04. Existing captures cited below, retrieved 2026-08-04.

Prior shortlist evidence remains in proof/03_market/captures/rev_name_{apple,play}_*, rev_tm_*, and rev_domain_*, retrieved 2026-08-04. The detailed ChronoCook paths and the current recommendation are in research/05_name_chronocook.md.

Residual risk: the next leading option will still require a direct UKIPO search, professional similarity and unregistered-rights review, App Store Connect reservation, and immediate domain registration before branding.


03 Business Decisionsresearch/03_business_decisions.md · raw .md

Decision 2 — Seller entity: publish as an individual first

Recommendation

Do not form a company for the free launch. Use an individual account on each store, with the founders recording privately who owns the app and who controls the accounts. If a company becomes necessary later, the recommended fallback is a UK private limited company, provided the founders accept the UK registered-office and ongoing filing obligations.

What a free individual launch actually costs and publishes

Store Unavoidable programme cost What the public sees for a free individual app Other launch gate
Google Play US$25 once Under Google's general personal-account rule: legal name, country derived from the legal address, and developer email. Monetisation triggers publication of the full legal address. Google also warns that regional rules can require extra public details, including a full address; an EU trader must therefore expect the DSA contact-information rule to override the free-app baseline. A personal account created after 2023-11-13 must run a closed test with at least 12 opted-in testers for 14 continuous days before applying for production access. The rule depends on account type and creation date, not price.
Apple App Store US$99 per membership year, shown in local currency where available The individual's personal legal name is the seller. App Store Connect requires a DSA trader-status declaration even outside the EU. Free does not automatically mean non-trader: Apple says business purpose and intention to commercialise are relevant. If declared a trader for an EU app, Apple publishes an address or P.O. Box, phone and email and requests payment-account details.

Sources, all retrieved 2026-08-04: Google registration fee, [evidence archive — not published]; Google personal-account public fields and monetisation trigger, policy_google_play_verify_identity.txt, source https://support.google.com/googleplay/android-developer/answer/13628312; Google test gate, policy_google_personal_testing_reqs.txt, source https://support.google.com/googleplay/android-developer/answer/14151465; Apple fee, seller name and conversion route, policy_apple_enrollment.txt, source https://developer.apple.com/support/enrollment/; Apple DSA requirements, policy_apple_asc_dsa_trader.txt, source https://developer.apple.com/help/app-store-connect/manage-compliance-information/manage-european-union-digital-services-act-trader-requirements.

This corrects the earlier incorporation argument. For a free Google personal listing, the baseline is legal name, country and email—not a full address. That removes the earlier claim that free publication by itself exposes the home address. It does not remove the separate EU trader issue: the DSA requires a trader's name, address, phone and email to be public, and Google's own identity page warns that regional rules can add a full address. Free price is only one fact in the trader assessment, so the founders must resolve the trader declaration before treating either store as an address-free route. DSA source: Article 30 of Regulation (EU) 2022/2065, proof/03_market/captures/policy_eurlex_dsa_2022_2065.txt, retrieved 2026-08-04, https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX%3A32022R2065.

Company fallback comparison

Only use this table if payment, liability, joint ownership, contracting or a store-name requirement later makes an entity worthwhile.

Structure Fully online and timing Formation cost Stripe Fit for the project owner and Serge
UK private limited company Online; Companies House says registration is usually completed within 24 hours £100 United Kingdom is supported Supports multiple shareholders and directors, including a two-founder cap table. It needs a UK registered office, identity verification, accounts and tax filings. Recommended fallback because it is the fastest, cheapest jointly owned company in this comparison.
Estonian OÜ through e-Residency Company registration is online and takes about 15 minutes to 1 hour once the e-Residency card exists; obtaining and collecting the physical card means the full journey is not entirely online €150 per e-Residency application, €265 company registration, normally €200–€400/year for an Estonian contact person, with accounting extra Estonia is supported Can hold two founders, gives an EU company and remote administration, but each active founder needs the digital-ID route and cross-border tax still follows where people actually work and manage it.
Stripe Atlas Online; Atlas says the Delaware company can accept payments within 2 business days US$500 once, including the first registered-agent year, then US$100/year A Stripe account is part of the route Handles co-founders cleanly, but creates a U.S. company, federal and state filings, and cross-border founder tax work that is excessive for a free kitchen timer.
French micro-entreprise / auto-entrepreneur French creation formalities are online through the single portal; the official page gives no guaranteed processing time Cost depends on activity; the structure avoids company statutes and capital France is supported One natural person only; no shared equity and Apple treats a sole proprietor as an individual seller. Simple for one founder, wrong for jointly owned publishing.
French EI Online through the same portal; the official page gives no guaranteed processing time The official comparison states €21.74 for a commercial EI France is supported One natural person only and no separate legal person. It does not solve joint ownership or Apple's individual seller name.
French SASU Online through the same portal, with no official guaranteed processing time; statutes, capital, beneficial-owner filing and a legal notice are required Official filing components shown in the comparison are €33.83 registration plus €19.33 beneficial-owner filing, plus the variable legal-notice cost France is supported One shareholder only. To put both founders in the equity, use a SAS rather than a SASU, with more drafting and administration than the UK fallback.

Sources, retrieved 2026-08-04: UK online incorporation, timing and cost, proof/03_market/captures/rev_entity_uk_incorporation.txt, source https://www.gov.uk/limited-company-formation/register-your-company; Estonian process, time and service costs, rev_entity_estonia_start.txt, source https://www.e-resident.gov.ee/start-a-company/; e-Residency and registration fees, https://learn.e-resident.gov.ee/hc/en-gb/articles/360000625118-Costs-fees; Stripe Atlas timing and fees, rev_entity_stripe_atlas.txt, source https://stripe.com/atlas; Stripe country support, rev_entity_stripe_global.txt, source https://stripe.com/global; French online portal, rev_entity_fr_guichet.txt, source https://entreprendre.service-public.fr/vosdroits/R61572; French structure and filing-cost comparison, rev_entity_fr_ei.txt, source https://entreprendre.service-public.fr/vosdroits/F23844; SASU structure, rev_entity_fr_sasu.txt, source https://entreprendre.service-public.fr/vosdroits/F37383.

Cost of incorporating later

  • Apple: first ask Apple Developer Support to convert the individual membership to an organisation; Apple's enrolment page explicitly directs existing individuals to contact support. If Apple requires a transfer instead, create and verify the organisation membership, meet the app-transfer criteria, and transfer the app. The app stays downloadable and retains ratings, reviews and updates, but its bundle identifier stays permanent. Source: proof/03_market/captures/policy_apple_enrollment.txt and policy_apple_asc_transfer_app.txt, retrieved 2026-08-04; https://developer.apple.com/help/app-store-connect/transfer-an-app/overview-of-app-transfer/.
  • Google: the DSA account-type selection cannot be changed later, so create and verify an organisation account and submit an app transfer. Users, statistics, comments, ratings and subscriptions transfer; historical earnings reports and test groups do not, so the closed-test group must be rebuilt. Google says support reviews transfer requests within 2 business days. Source: proof/03_market/captures/policy_google_play_dsa_trader.txt and policy_google_app_transfer.txt, retrieved 2026-08-04; https://support.google.com/googleplay/android-developer/answer/6230247.

Starting free makes both migrations simpler because there are no products, subscriptions, receipts or entitlement servers to move.