Drop — Project Handbook
Drop — Fintech Payment App
Quick Info
- What: Remittance + QR payments for everyone in Scandinavia
- Target: ALL residents in Norway/Scandinavia — NOT limited to diaspora
- IMPORTANT: Drop is a general-purpose payment app. Do NOT frame it as diaspora-only.
- Pipeline: See project/PIPELINE.md
- Business Case: project/docs/zica-business-case-v2.md (pre-rebrand, content valid)
- Architecture: project/architecture/drop-architecture.md
- Backlog: project/backlog/
- Full Documentation: docs/INDEX.md — backend, frontend, mobile, infra, security, testing
Branding
- Name: Drop (ex-Zica, renamed for cultural sensitivity)
- Domain: getdrop.no (drop.no owned by TV2)
- Tagline: "Send penger. Enkelt." (mobile) / "Enklere betalinger. Lavere gebyrer." (landing)
- Logo: Figma vector wordmark "Drop" with currency exchange "o" (circular arrows + "kr") and gold dot top-right. Green rounded rectangle with gradient (#0B6E35 to #064E25). Web:
@/components/drop-logo.tsx, Mobile:components/DropLogo.js - Design: MUST invoke
frontend-designskill. Read~/system/tools/PREMIUM_DESIGN_PATTERNS.mdfirst. - NEVER: fake SVG logos, system fonts as logo, generic AI aesthetics
Folder Structure
- brand/ — Logo, colors, guidelines
- src/drop-app/ — Main application code
- landing/ — Landing page and marketing site
- project/ — Project documentation and planning
- pitch/ — Partnership materials
- rnd/ — Research & development documents
- legal/ — Legal resources, contracts, compliance
- marketing/ — Marketing campaigns, content, analytics
- security/ — Security audits, policies, incident response
- infrastructure/ — Deployment, monitoring, CI/CD
- design/ — Figma links, UI specs, assets
- support/ — Customer support FAQs, guides, feedback
- comms/ — Communications history
- docs/ — Technical documentation (see docs/INDEX.md for full index)
- intake/ — Client intake materials
- mockups/ — Design mockups
- mockups/figma-make-export/ — UI SOURCE OF TRUTH (Vite+React, 10 screens)
UI Source of Truth
- Make export:
mockups/figma-make-export/src/components/— 10 screens - BEFORE any UI change: Read the corresponding Make component first
- Screens: Login, Onboarding, Dashboard, SendMoney, BankAccounts, TransactionHistory, ScanQR, Profile, Notifications, MerchantDashboard
- No Cards screen in Make — Cards is feature-flagged, not part of core product
Core Features (Pass-through PSD2 model)
- Remittance — send money abroad to 30+ countries (PISP from user's bank account)
- QR Payments — pay in-store by scanning QR (PISP from user's bank account)
- Bank Accounts — view linked bank account balances via AISP (Open Banking)
- Notifications — push notifications and transaction alerts
- Settings — user preferences and account management
- Transaction History — view all transactions with filters
IMPORTANT: Pass-through model
- Drop NEVER holds customer money. No wallet, no balance, no top-up.
- User's money stays in their bank account at all times.
- AISP reads balance from bank via Open Banking / BankID consent.
- PISP initiates payments directly from user's bank account.
- Cards feature is gated behind feature flags (future, requires partner).
User Requirements (ENFORCED — from vilkår)
- Minimum age: 18 — BankID fødselsnummer encodes DOB → validate >= 18
- Residency: Norway — Norwegian phone (+47) + Norwegian BankID
- BankID verification: mandatory — before any transaction
- Pass-through model — Drop never holds money, Open Banking (PSD2) reads balance + initiates transfers
- See
project/architecture/architecture-document.mdsection 1.4 for implementation details
Rules
- Follow ALAI SDLC: processes/sdlc/
- All decisions logged in comms/decisions/
- NEVER use word "banking" without licence disclaimer
- Security-first: httpOnly JWT, parameterized SQL, rate limiting