Will Head


HTVCAAITD: Day One SPEC.md

#

Here’s the full initial SPEC Claude generated after the first day of How to Vibe Code an App in 10 Days

# Favorite Places App — Specification

## Overview
A personal iPhone app for saving favorite 
locations, organizing them with folders 
and tags, and quickly opening them in 
any installed maps application.

## Target User
Personal use (single user, no multi-user 
or sharing features needed).

## Core Features

### 1. Location Search & Saving
- Search for places by name or address 
  using Apple's MapKit search
- Save a place with:
  - Name (editable, defaults to search 
    result name)
  - Address
  - Coordinates
  - Personal notes (optional)
  - Folder assignment (optional)
  - Tags (optional)

### 2. Organization
- **Folders:** User-created folders to 
  group places (e.g., "Restaurants," 
  "Travel," "Work")
- **Tags:** User-created tags for 
  cross-cutting categorization (e.g., 
  "date night," "outdoor," 
  "kid-friendly")
- Places can exist outside any folder 
  (uncategorized)
- Places can have zero or multiple tags

### 3. Browsing & Viewing
- List view of all saved places
- Filter by folder or tag
- Search within saved places
- Tap a place to view details and edit

### 4. Open in Maps App
- Primary action button opens the place 
  in the user's default maps app
- Secondary option shows a list of other 
  installed maps apps (Apple Maps, 
  Google Maps, Waze, Citymapper, etc.)
- Default maps app is configurable in 
  settings

### 5. Data & Sync
- All data stored in iCloud (CloudKit)
- Automatic sync across user's devices
- Works offline with local cache; syncs 
  when connectivity returns

## Technical Approach
- **UI Framework:** SwiftUI
- **Minimum iOS:** 26
- **Location Search:** MapKit / 
  MKLocalSearch
- **Data Persistence:** SwiftData with 
  CloudKit sync
- **Maps App Integration:** URL schemes 
  for supported apps

## Out of Scope (for initial version)
- Sharing places with other users
- Map view of all saved places
- Import/export
- Widgets or Shortcuts integration
- Photos attached to places