I have an idea and prepped some tools for it. Now it’s time for planning. After creating a blank Xcode project, setting up a GitHub repo, and pushing the first commit, I avoided jumping straight into coding or asking an LLM to “build me this app.” Instead, I spent time planning.
Planning
I used Claude Web with Sonnet 4.5.
I asked Claude to create a spec.md file with milestones and phases for my tvOS project. This is the exact prompt I used:
create a spec.md file for my personal app (not gonna release it to stores)
idea is to have tv OS app which deos followings.
* allow me to enter xstream code (username, password and url)
* fetch all the deatils and load into the UI (use swift ui and apple provided apis)
* when clicking the item from the list use apple provided api to stream content.
before creating the md file. ask me questions and then make it
I had to tell Claude that I’m not going to release it to stores because safety checks kicked in and refused to help with Xstream codes logins. Yes, I had misspelled a few things in the prompt.
After I answered some of Claude’s questions, it generated a spec.md file with two phases and lots of detail. Sharing just the phases here:
Phase 1 - Core Functionality (MVP)
Authentication with credential storage
Fetch and display Live TV channels
Fetch and display Movies
Fetch and display TV Series with episode navigation
Search across all content
Video playback with full controls
Settings screen with account management
Metadata display (when available)
Phase 2 - Enhanced Experience (Future)
Categories/Genre filtering
Favorites list
Recently watched
Continue watching
EPG support for Live TV
Multi-account support
Parental controls (if needed later)
I copied this spec.md into my GitHub repo, created a new docs folder, and saved it there.
Milestones
Back on my machine, I opened the repo with spec.md and asked Claude Code with Sonnet 4.5 to create docs/milestones.md by reading docs/spec.md. After running for a bit, it produced 21 milestones for Phase 1 and 5 for Phase 2. It also added sections for “Suggested folder structure,” “Development Tips for LLM Implementation,” and “Common Pitfalls to Avoid.”
I really liked the plan and only edited a few parts. milestones.md is fairly long, so I’m sharing just one milestone here.
## Milestone 15: Settings Screen
**Objective:** Create settings/account management interface.
**File to Create:** `Views/Settings/SettingsView.swift`
**Implementation Requirements:**
1. **Server Information Section:**
- Display server URL (read-only)
- Display username (read-only)
- Display connection status
2. **Account Management Section:**
- "Change Account" button
- Confirms action with alert
- Clears credentials from Keychain
- Returns to login screen
3. **App Information Section:**
- App version number
- About text
4. **Cache Management Section:**
- "Clear Cache" button
- Clears URLCache
- Shows confirmation
**Success Criteria:**
- [x] Server info displays correctly
- [x] Change Account button works
- [x] Logout clears credentials
- [x] Returns to login after logout
- [x] App version displays
- [x] Clear cache works
- [x] Proper alert confirmations
Next comes my favorite part—building the actual app from spec.md and milestones.md. What do you think I did, and how do you think the first version turned out?