Intake: Project Brief
Project Brief: Drop
Note: Originally written as "Zica" / "FontelePay". Product has been rebranded to Drop. See Drop CLAUDE.md for current spec.
Date: 2026-02-08 (updated 2026-02-14) Version: 2.0 Author: product agent (llama3.1:70b) + John Status: Updated
1. Problem
FontelePay MVP postoji ali ima kritične nedostatke:
- Podaci se gube na reload (in-memory mock servisi)
- Nema pravog backenda — sve je mock
- Nema notifikacija za korisnički feedback
- Nema transaction history stranice
- Login se lomi nakon reload-a
- Brand treba refresh (FontelePay → Drop)
2. Solution
Drop — fintech payment aplikacija sa:
- Real backend (PostgreSQL 16 + JWT auth)
- Full data persistence
- Toast notifikacije
- Kompletna transaction history
- UI polish i edge case handling
- Rebrand: novi vizualni identitet (Drop branding, Forest Green + Gold)
- Pass-through PSD2 model: Drop NEVER holds customer money
3. Target Users
- Svi stanovnici Norveške/Skandinavije — NE samo dijaspora
- Korisnici koji šalju novac u inostranstvo (remittance)
- Korisnici koji žele jeftinije QR plaćanje u lokalnim dućanima
- Dijaspora zajednice su ključni početni segment, ali Drop je za SVE
4. Key Features (MoSCoW)
Must Have
- JWT autentikacija (register/login) via BankID
- PostgreSQL 16 backend sa pravim API rutama (Drizzle ORM)
- localStorage persistence za offline-first
- Toast notifikacije za sve akcije
- Transaction history stranica
- Account dashboard sa Open Banking (AISP) podacima
- Remittance — slanje novca u inostranstvo (PISP)
- QR merchant payments — plaćanje u dućanu
Should Have
- Responsive mobile-first dizajn
- Bank partner integration (PSD2 agent model)
- KYC provider integration (e.g. Sumsub, BankID)
Could Have
- Push notifikacije
- Dark mode
- Merchant analytics dashboard
Won't Have (v1)
- Wallet / balance / top-up (Drop NEVER holds money)
- Fizička kartica
- Crypto wallet
5. Tech Stack
| Layer | Technology |
|---|---|
| Frontend | Next.js 16, React 19, Tailwind v4, shadcn/ui |
| Backend | Next.js API Routes |
| Database | PostgreSQL 16 (Drizzle ORM) — ADR-014 |
| Auth | JWT (jose library) + BankID |
| External APIs | Open Banking (AISP/PISP) via bank partner |
| Hosting | TBD (Vercel candidate) |
6. Budget
Interni projekat — nema eksternog budžeta.
- Estimated effort: ~200h development + testing
- Interni trošak: ~$10,000 equivalent
- Realan trošak: John + Builder agent time
7. Timeline
| Faza | Trajanje |
|---|---|
| Planning + Analysis | 1 sedmica |
| Design (Architecture) | 1 sedmica |
| Implementation | 2 sedmice |
| Testing + Polish | 1 sedmica |
| Total | ~5 sedmica |
8. Success Metrics
- Svih 7+ stranica radi bez grešaka
- Podaci preživljavaju page reload
- JWT auth funkcionira end-to-end
- < 2s load time na svim stranicama
- 0 TypeScript errors
- npm run build uspješan
- Lighthouse score > 90
9. Risks
| Rizik | Vjerovatnoća | Impact | Mitigacija |
|---|---|---|---|
| JWT security rupe | Medium | High | Security agent review |
| Mock → real migration complexity | Medium | Medium | Phased approach |
| Fintech regulacije | Low | High | Legal agent review |
| Design gap (nema vizualnih assets) | High | Medium | AI image gen + CSS-first pristup |
| Bank partner onboarding delay | Medium | High | Multiple bank targets, MVP ready for demo |
10. Approval
| Role | Name | Date | Status |
|---|---|---|---|
| Product (AI) | product agent | 2026-02-08 | Drafted |
| John (AI Director) | John | 2026-02-08 | Reviewed |
| John (AI Director) | John | 2026-02-14 | Updated (rebrand) |
| Alem (CEO) | Pending |