iOS project
Build a portfolio showcase app with proper SwiftUI navigation
A list-to-detail projects app with one genuinely reusable custom component — proof of composition, not just stock List rows.
The brief
Build a personal portfolio/projects showcase app in SwiftUI: a list of projects with a detail view (image, description, links), using proper SwiftUI navigation, and at least one custom, reusable view component that's actually parameterized and used more than once, not just a stock List row.
Suggested stack
What you hand in
- A public GitHub repository with the app and a README
- The README explains the navigation structure and the reusable component's parameters
- Screenshots or a short recording showing the app on at least two device sizes
Grading happens against the rubric below, so read it before you start — not after.
How this is graded
Published in advance and weighted out of 100. Nothing here is a surprise.
Back-stack behavior is correct through a real hierarchy (list to detail to a sub-detail, if applicable), with no broken or dead-end navigation states.
The custom component is genuinely parameterized and reused in more than one place, not screen-specific logic dressed up as a component.
The layout adapts correctly from a small phone screen through a Pro Max, with a basic check on iPad too, without clipping or overlap.
Project data conforms to Identifiable (and Codable if loaded from JSON), avoiding SwiftUI List diffing bugs when items change.
No console errors or crashes, no broken layout, no leftover placeholder text or commented-out code.
Why this project is worth your weekend
- Navigation and layout adaptivity are the actual daily bread of iOS work, and a projects-showcase app is close to what most junior iOS developers ship first.
- A genuinely reusable custom component, not only stock SwiftUI views, is what separates "followed a tutorial" from "understands composition".
- This doubles as an artifact the candidate can actually use as their own real portfolio.
Where people lose points
- Hardcoding layout for one screen size so it breaks or clips on a smaller device.
- A "reusable" component that still has screen-specific logic baked in, so it can't actually be reused anywhere else.
- No Identifiable conformance on list data, causing SwiftUI List diffing bugs when items are added or removed.
Other iOS projects
Two or three of these turn an empty resume into a portfolio.
Built it? Get it scored against this rubric.
Submit your work and get a score on every criterion above, written feedback, and three resume bullets you can use straight away.