# Project context for AI coding assistance

This is a SwiftUI iOS app, built for a hackathon. The person using this is
likely a designer with light coding experience who is using AI to write
most of the Swift code. Keep that in mind: prefer clear, well-commented
code over clever or terse code, and explain non-obvious decisions briefly
in comments.

## Stack
- SwiftUI (no UIKit unless absolutely necessary)
- iOS 26+ deployment target (required for Liquid Glass — see below)
- No external dependencies / package manager by default — keep it simple.
  If a feature genuinely needs a package, prefer Swift Package Manager
  (Xcode: File > Add Package Dependencies) over CocoaPods.
- No backend by default. If the idea needs persistence, start with
  `@AppStorage` or a local JSON file before reaching for a database.
- This app uses real Liquid Glass (`.glassEffect()`, `.buttonStyle(.glass)`
  / `.glassProminent`), which is iOS 26+ only. If you ask AI to lower the
  deployment target back to iOS 17/18 for any reason, the glass effects
  will need to be swapped out too (e.g. for `.ultraThinMaterial`), or the
  app won't compile.

## Project structure
- `App/Views/` — SwiftUI views. One view per file, named `XThing View.swift`.
- `App/App.swift` — app entry point. Rarely needs to change.
- `App/Assets.xcassets` — images, app icon, colors.
- There's no `Models/` folder yet — this starter has no data model. If a
  feature needs one, create `App/Models/` and add plain Swift
  structs/classes there.

## Conventions
- Use `@State` for view-local state, `@Observable` (not the old
  `ObservableObject`/`@Published` pair) for shared model state if the
  app grows past a single view.
- Prefer SwiftUI's built-in components (`List`, `NavigationStack`, `Form`,
  `Button`, etc.) over custom-built equivalents — they're faster to build
  with and look native for free.
- Use SF Symbols (`Image(systemName: "...")`) for icons instead of asking
  for custom icon assets — there's a huge built-in library and it keeps
  things moving fast during a hackathon.
- Keep view files small. If a `body` is getting long, break it into
  computed properties or subviews in the same file before splitting files.

## What NOT to do
- Don't add user authentication, networking, or backend infrastructure
  unless the idea specifically requires it — this is a prototype, not a
  production app.
- Don't introduce third-party dependencies for things SwiftUI already
  does natively (date pickers, lists, navigation, etc.)
- Don't worry about supporting iPad/Mac/older iOS versions unless asked.

## Goal
Optimize for: working on a real device quickly, and being easy for a
human (often non-engineer) to read and steer. This is about practicing
AI-assisted coding, not shipping a production app.
