Files
boc/QUIXZOOM-STRATEGY-2026-06-04.md
T
Bernt bae705aa97 ARCHITECTURE: NFC roadmap, edge AI, audit logging
- Add NFC ePassport roadmap (ICAO 9303, eIDAS)
- Add TensorFlow.js edge face detection (BlazeFace)
- Add structured audit logger (GDPR-compliant)
- Risk scoring support

Part of KYC Apple Native UX v1.1.0
2026-06-29 16:24:48 +00:00

6.2 KiB

quiXzoom — Launch Strategy 2026-06-04

Skapad av Bernt efter fullständig genomgång av kodbas, DB, nginx, infra.

Verklighetsläge (ärligt)

Dimension Nuläge
API-infra (Node + Rust) Stabil, fixad, exponerad publikt
DB-schema Väldesignat, 214 missions, rätt tabeller
Zoomer-auth (JWT RS256) Funkar, ej enterprise
iOS-app ⚠️ APNs mock, App Store ej submittat
Orderer/customer onboarding Hårdkodad mock-data
Inbetalningar Stripe mock (ingen live-nyckel)
Utbetalningar Swish/Stripe Connect mock
KYC/BankID Simulerad data
LandveX → quiXzoom koppling Inte aktiv
Skalbarhet ⚠️ Single EC2, ingen LB

Strategi — 4 parallella spår

🔴 SPÅR 1 — iOS LAUNCH (deadline: 15 juni, 11 dagar)

Blockers som MÅSTE lösas innan App Store submission:

  1. APNs Production Certificatepush-notifications.mjs är Mock APNs. Behövs:

    • Apple Developer Account → Certificates → APNs Auth Key (.p8)
    • KEY_ID, TEAM_ID, BUNDLE_ID → in i ecosystem/env
    • Byt ut sendMockAPNs() mot node-apn / @parse/node-apn
    • Deadline: 11 juni (2 dagar buffer för review)
  2. App Store submission — deadline 13 juni

    • Finns iOS-app byggd? Mac build server (AWS Mac EC2) — Xcode finns men act_runner ej registrerad
    • Johan: tickets AMOS-51/52/53/66/67/68 blockerar CI/CD
    • Alternativ: manuell build och upload via Transporter
  3. Push notification live-test — testa mot riktiga device_tokens

Vem äger: Johan (CTO/Sven) + iOS-app-lagret. Bernt kan fixa APNs-integrationen i backend.


🟠 SPÅR 2 — BETALNINGAR (deadline: soft-launch, ~1 juli)

Minsta möjliga för att ta riktiga pengar:

Fas 2a — Inbetalningar (orderers betalar för missions):

  • Behövs: STRIPE_SECRET_KEY (live) + Stripe-konto aktiverat
  • Bygga: orderer checkout-flow (välj mission-typ, pris, betala)
  • Prissättning finns i pricing.mjs
  • DB: orderer_profiles och organizations är tomma → orderer-onboarding

Fas 2b — Utbetalningar (zoomers får betalt):

  • Swish Business API (kräver Swish-avtal med bank) ELLER
  • Stripe Connect (kräver stripe_account_id per zoomer, onboarding-flow)
  • Rekommendation: Swish först (enklare för svenska zoomers, snabbare onboarding)
  • DB-schema är redo: payouts.swish_number, profiles.swish_number
  • Behövs: Swish Business API-certifikat + Swish-handelscertifikat

Vem äger: Winston/Rufus för banker + avtal. Bernt bygger integrationen när nycklar finns.


🟡 SPÅR 3 — KYC + ENTERPRISE AUTH (deadline: ~1 juli)

Minsta möjliga för att lagligt betala ut till zoomers:

  • BankID — krävs för utbetalning (skatteidentitet, F-skatt/A-skatt)
    • Leverantör: Signicat, BankID On-File, Onfido SE
    • profiles.personal_number_hash + identity_verified finns i DB
    • Kostnader: ~1-3 kr/verifiering
  • Orderer-autentisering — B2B-kunder
    • Enklare: e-post + org.nr-verifiering (Bolagsverket API)
    • Enterprise: SSO via SAML/OIDC

Vem äger: Dennis/Kjell (COO/Legal för avtal). Bernt bygger integrationen.


🟢 SPÅR 4 — LANDVEX → QUIXZOOM (deadline: ~15 juli)

Kopplingen som gör quiXzoom självdrivande:

Flödet som är designat men inte aktiverat:

LandveX detekterar anomali
  → auto_event_monitors triggas
  → event_template väljs (reward, radius, instruktioner)
  → mission skapas i quixzoom.missions
  → push till zoomers i närheten

Vad som behövs:

  1. event_templates populeras med reella templates (livboj, brygga, sensor etc)
  2. LandveX engine.mjs POST till /api/quixzoom/missions vid anomali (istället för in-memory)
  3. auto_event_monitors aktiveras per asset/sensor
  4. Push till zoomers via APNs (kräver Spår 1)

Vem äger: Bernt kan bygga hela pipeline. LandveX-assets behöver vara live (ej hårdkodade).


Tidsplan

JUNI                    JULI
4   8   11  15  22  29  6   13

[SPÅR 1 — iOS]
──────────────┤APNs fix
              │──────────────────App Store
                         ├── LIVE 15/6

[SPÅR 2 — Betalningar]
 [Winston/avtal]──────────────────────────────
              [Bernt bygger]──────────────────
                                   ├── Swish live ~1/7

[SPÅR 3 — KYC]
 [Dennis/avtal]──────────────────────────────
                    [Bernt bygger]──────────────
                                        ├── BankID live ~1/7

[SPÅR 4 — LandveX koppling]
                         [Bernt bygger]──────────────
                                             ├── Live ~15/7

Uppgiftsfördelning just nu

Vem Uppgift Deadline
Johan/Sven Registrera act_runner på Mac EC2 8 juni
Johan/Sven Manuell iOS build + TestFlight 10 juni
Bernt APNs-integration (ersätt mock) 9 juni
Bernt Orderer onboarding-flow i DB 12 juni
Winston/Rufus Stripe-avtal + live-nycklar 10 juni
Winston/Rufus Swish Business-avtal 15 juni
Dennis/Kjell BankID-leverantörsavtal 15 juni
Erik Godkänn App Store-submission 13 juni

Nästa agent-tasks (Bernt kör direkt)

  • TASK-QZ-001 APNs mock → live (push-notifications.mjs)
  • TASK-QZ-002 Geo-filter missions (delvis klar via subagent)
  • TASK-QZ-003 Orderer registration endpoint (DB-kopplat, ej mock)
  • TASK-QZ-004 event_templates seed-data + LandveX webhook-endpoint
  • TASK-QZ-005 Stripe onboarding-flow (när nyckel finns)
  • TASK-QZ-006 Swish-integration (när certifikat finns)

Vad Bernt KAN köra utan att vänta på någon

  1. APNs backend-integration (ersätter mock, redo när Johan ger KEY_ID/TEAM_ID)
  2. Orderer onboarding-flow (register → org-profil → mission-beställning → RDS)
  3. LandveX webhook-endpoint + event_templates seed
  4. Missions geo-filter (nästan klar)
  5. Stripe checkout-flow (redo att aktivera när Winston ger live-nycklar)