Skip to content

Commit 3d74660

Browse files
author
Douglas Jones
committed
quill: branding unification & TestFlight prep readout
1 parent 6cae719 commit 3d74660

2 files changed

Lines changed: 149 additions & 0 deletions

File tree

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
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)
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
glyph: quill
2+
kind: readout
3+
date: "2026-05-20"
4+
title: "Branding Unification & TestFlight Prep"
5+
scope:
6+
- publicsite
7+
- decodethesign-web
8+
- decodethesign-ios
9+
tags:
10+
- branding
11+
- deployment
12+
- testflight-prep
13+
- content-accuracy
14+
summary: >
15+
Unified "decode the sign" branding (lowercase, monospace, "parking, interpreted")
16+
across codifide.com, decodethesign.com, and the iOS native app. Removed unimplemented
17+
feature claims. Fixed production errors (CSP, CORS, missing SVG). Parallel Xcode session
18+
hardened iOS for TestFlight: App Shortcuts in correct target, deferred permissions,
19+
updated nav branding. Both websites deployed to Vercel. iOS submission planned for tomorrow.
20+
artifacts:
21+
- path: publicsite/index.html
22+
action: modified
23+
- path: publicsite/glossary.html
24+
action: modified
25+
- path: publicsite/stats.js
26+
action: modified
27+
- path: publicsite/vercel.json
28+
action: modified
29+
- path: publicsite/api/pypi_stats.py
30+
action: created
31+
- path: decodethesign/app/page.tsx
32+
action: rewritten
33+
- path: decodethesign/app/layout.tsx
34+
action: modified
35+
- path: decodethesign/app/coverage/page.tsx
36+
action: rewritten
37+
- path: decodethesign/components/site-wordmark.tsx
38+
action: modified
39+
- path: decodethesign/tailwind.config.ts
40+
action: modified
41+
- path: decodethesign/public/decodethesign-wordmark.svg
42+
action: committed
43+
- path: decodethesign/public/favicon.ico
44+
action: regenerated
45+
- path: ios-native/DecodeTheSign/DecodeTheSignApp.swift
46+
action: modified
47+
- path: ios-native/DecodeTheSignPackage/Sources/DecodeTheSignFeature/Theme/Strings.swift
48+
action: modified
49+
- path: ios-native/DecodeTheSignPackage/Sources/DecodeTheSignFeature/ContentView.swift
50+
action: modified

0 commit comments

Comments
 (0)