Scoped to native iOS + Android, the marketplace, the admin CMS, and Madrid's four tours fully content-loaded — matching the five-phase roadmap. City #2 is priced separately in data-model.html, since it's mostly content production, not engineering.
| Module | Backend | iOS | Android | Design | QA / PM | Total (h) |
|---|---|---|---|---|---|---|
| Phase 0 — Foundation | ||||||
| Data model, city-config schema | 80 | — | — | — | 10 | 90 |
| Design system, native implementation | — | 60 | 60 | 60 | 10 | 190 |
| Admin console shell, auth, RBAC | 60 | — | — | 20 | 20 | 100 |
| Phase 0 subtotal | 140 | 60 | 60 | 80 | 40 | 380 |
| Phase 1 — Tours core | ||||||
| Navigation, geofencing, offline packs | 90 | 110 | 110 | 10 | 30 | 350 |
| Audio player, stop content runtime | 30 | 40 | 40 | 10 | 10 | 130 |
| Tour builder + stop editor (CMS) | 50 | — | — | 10 | 20 | 80 |
| Phase 1 subtotal | 170 | 150 | 150 | 30 | 60 | 560 |
| Phase 2 — AR layer | ||||||
| Geospatial anchoring (outdoor) | 20 | 90 | 90 | 10 | 20 | 230 |
| Image recognition (indoor) + target index | 60 | 70 | 70 | 10 | 20 | 230 |
| Fallback ladder, AR target binding (CMS) | 30 | 30 | 30 | 10 | 10 | 110 |
| Phase 2 subtotal | 110 | 190 | 190 | 30 | 50 | 570 |
| Phase 3 — Marketplace | ||||||
| Artist profiles, portfolio browsing | 30 | 40 | 40 | 15 | 10 | 135 |
| Stripe Connect — onboarding, checkout, payouts | 110 | 50 | 50 | 10 | 30 | 250 |
| Reviews + moderation queue | 30 | 20 | 20 | 10 | 15 | 95 |
| Order management (CMS) | 40 | — | — | 10 | 15 | 65 |
| Phase 3 subtotal | 210 | 110 | 110 | 45 | 70 | 545 |
| Phase 4 — Launch hardening | ||||||
| Firebase / BigQuery analytics dashboards | 40 | 20 | 20 | 10 | 15 | 105 |
| Security, accessibility, load QA | 20 | 20 | 20 | — | 60 | 120 |
| Madrid content complete (4 tours, ES/EN) | — | — | — | 60 | 60 | 120 |
| Store submission, launch QA | 10 | 15 | 15 | — | 25 | 65 |
| Phase 4 subtotal | 70 | 55 | 55 | 70 | 160 | 410 |
| Grand total | 700 | 565 | 565 | 255 | 380 | 2,465 |
| + 10% contingency | 247 | |||||
| Total, contingency included | ~2,712 h | |||||