Bird ID: a SwiftPieces remix in SwiftUI, inspired by Merlin Bird ID
A bird identification app in seven screens over a floating dock, in the SwiftPieces look; actions are pills, cards 16, thumbnails 12, with meadow green as the one accent and every bird wearing its four-letter banding code. Identify opens on a forest-green Sound ID card, with Photo ID and Step by Step as tiles beside the bird of the day and your recent sessions. Listening comes up as a sheet on a forest ground: the recording runs as a waveform you can scrub, and the best suggestions gather under it, the bird singing now lifted onto butter. Step by step walks a trail of five questions, size as cards you pick one of and the main colours as swatches you pick up to three of; Photo ID frames the bird in the camera. Every route ends on the species: its plumages to swipe, the Latin name, songs and calls to play, a range map of its migration and its reports by month near you, with This is my bird. Explore lists what's likely today, each bird with its own seasonal bars, and the Life List rings the year's goal over your sightings, newest first. Built from Screen Header, Tint Panel, Elastic Button, Card, Image, Media Row, Waveform Scrub, Page Carousel, Expandable Text, Route Map, Chart, Commit Button, Step Trail, Choice, Color Block List, Camera Viewfinder, Search Field, Filter Rail, Goal Ring and Stat Grid.
- Start listening and tap the bird singing now
- Play the song, then slow it down
- Drag the range map
- Answer the size question and pick two colours
- Frame a photo and tap Identify
- Tap This is my bird, then read your life list
- Tabs: Each tab keeps its own place, so switching back returns you where you were.
- Sheet: The sheet rises over the screen, rests at its detents and follows your drag to dismiss.
- Push: The next screen slides in from the trailing edge; back slides it away.
- Tap: A tap acts on release, so dragging off cancels it.
- Select: The selection moves between options instead of blinking.
- Scrub: Values change continuously under your finger, with a tick at each step.
- Drag: It tracks 1:1 under your finger and settles with a spring when released.
- Swipe: It follows your finger, then commits or springs home based on distance and speed.
- Expand: Content grows in place; the layout around it moves out of the way.
- Loading: The control shows progress in place, then resolves to success or an error.
- Haptic: A short tap of vibration confirms the moment something happens.