|
| 1 | +# Quill Readout — 2026-05-20: Branding Unification & TestFlight Prep |
| 2 | + |
| 3 | +## Session Summary |
| 4 | + |
| 5 | +Two parallel workstreams converged today: brand consistency across all surfaces, and iOS app hardening for TestFlight submission. |
| 6 | + |
| 7 | +## Workstream 1: Brand Unification (Kiro) |
| 8 | + |
| 9 | +Unified "decode the sign" branding across codifide.com, decodethesign.com, and the iOS native app. |
| 10 | + |
| 11 | +### Brand Identity Established |
| 12 | +- **Name**: "decode the sign" (lowercase, monospace/code-style) |
| 13 | +- **Tagline**: "parking, interpreted" |
| 14 | +- **Logo**: Hexagonal frame (purple→teal gradient) with parking sign "P" and scan lines |
| 15 | +- **Works on dark and light backgrounds** |
| 16 | + |
| 17 | +### codifide.com (publicsite) |
| 18 | +- Rewrote DecodeTheSign project card: accurate feature list, removed unimplemented claims (ARKit overlay, Apple Wallet, multi-city sync) |
| 19 | +- Removed screenshots from the card (live on decodethesign.com instead) |
| 20 | +- Updated glossary references (4 entries) |
| 21 | +- Fixed CSP errors: created `/api/pypi-stats` server-side proxy to avoid CORS blocks from pypistats.org |
| 22 | +- Removed dead `/symbols` GET calls from stats.js |
| 23 | + |
| 24 | +### decodethesign.com |
| 25 | +- Redesigned homepage to match codifide.com card style: clean, feature-focused, no decorative fluff |
| 26 | +- Removed Codifide logo from header (stays in footer as "Brought to you by") |
| 27 | +- Updated all pages: coverage, support, privacy, terms, track, consumer/live, spot layout |
| 28 | +- Coverage page now shows Raleigh NC as only live city with "coming soon" list |
| 29 | +- Generated proper favicons from the hexagonal logo mark (16x16, 32x32, 180x180, .ico, SVG) |
| 30 | +- Committed the wordmark SVG (was untracked, causing broken image on production) |
| 31 | +- Added 10 fresh app screenshots to homepage |
| 32 | + |
| 33 | +### iOS Native (Strings.swift) |
| 34 | +- App name: "decode the sign" |
| 35 | +- Tagline: "parking, interpreted" |
| 36 | +- Pitch: "Point your camera at any parking sign. Get YES or NO in seconds." |
| 37 | +- About mission body updated |
| 38 | + |
| 39 | +## Workstream 2: iOS TestFlight Prep (Xcode Claude) |
| 40 | + |
| 41 | +Parallel session in Xcode/Claude hardened the native app for TestFlight submission. |
| 42 | + |
| 43 | +### App Shortcuts (Siri) |
| 44 | +- Moved `AppShortcutsProvider` from Swift Package to main app target (required for Xcode metadata extraction) |
| 45 | +- Four shortcuts registered: Scan a Sign, Find My Car, Parking Status, End Session |
| 46 | +- Proper `.applicationName` phrase tokens for Siri discovery |
| 47 | + |
| 48 | +### Auth & Permissions Flow |
| 49 | +- Integrated `AuthService.shared` into ContentView |
| 50 | +- Deferred location permission request to after onboarding completion (not on first screen) |
| 51 | +- Returning users get location immediately; new users see it after onboarding context |
| 52 | + |
| 53 | +### Navigation & UX |
| 54 | +- Added "OpenScanTab" notification handler for deep-link and shortcut routing |
| 55 | +- Updated nav wordmark to match brand: "decode " (blue) + "the sign" (navy), "parking, interpreted" subtitle |
| 56 | +- Simplified AppIntentsService (25 insertions, 66 deletions — cleaner intent definitions) |
| 57 | + |
| 58 | +### Build Configuration |
| 59 | +- Added `aps-environment` to Debug.entitlements |
| 60 | +- Updated project.pbxproj with new file references |
| 61 | +- Added Info.plist for proper app configuration |
| 62 | +- Regenerated AppIcon.png (55KB, down from 227KB) |
| 63 | + |
| 64 | +## Content Accuracy Audit |
| 65 | + |
| 66 | +Removed claims for unimplemented features: |
| 67 | +- ❌ ARKit real-time verdict overlay (AR/ directory is empty) |
| 68 | +- ❌ Apple Wallet parking sessions (aspirational) |
| 69 | +- ❌ Multi-city data sync (Chicago, NYC, SF — not live) |
| 70 | +- ❌ Street cleaning schedules (cron exists but not user-facing) |
| 71 | +- ❌ MapKit color-coded nearby spots (not implemented) |
| 72 | + |
| 73 | +Retained claims for implemented features: |
| 74 | +- ✅ AI sign reading (OCR + Gemini) |
| 75 | +- ✅ YES/NO/SOON verdict with countdown |
| 76 | +- ✅ Session tracking with Live Activity |
| 77 | +- ✅ Find My Car compass navigation |
| 78 | +- ✅ Siri App Intents |
| 79 | +- ✅ Home Screen Widget |
| 80 | +- ✅ Core ML arrow detection |
| 81 | +- ✅ Directional sign awareness |
| 82 | +- ✅ Conservative low-confidence gating |
| 83 | + |
| 84 | +## Deployment Status |
| 85 | + |
| 86 | +| Surface | Status | Method | |
| 87 | +|---------|--------|--------| |
| 88 | +| codifide.com | ✅ Live | Vercel direct deploy | |
| 89 | +| decodethesign.com | ✅ Live | Vercel direct deploy | |
| 90 | +| iOS app | 🔜 TestFlight tomorrow | Xcode Archive → App Store Connect | |
| 91 | + |
| 92 | +## Tomorrow's Plan |
| 93 | + |
| 94 | +TestFlight submission. The iOS app has: |
| 95 | +- Proper entitlements (push, Sign in with Apple) |
| 96 | +- App Shortcuts in the correct target |
| 97 | +- Clean permission flow |
| 98 | +- Updated branding throughout |
| 99 | +- Feature flags hiding unfinished features (Find Spot, smart street map) |
0 commit comments