Three decades of Rock: A case study about a native app.
Creating a native iOS app.
Three decades of Rock: A case study about a native app.
Creating a native iOS app.
Fall 2025.
The ask.
The goal of this midterm assignment was to create a native iOS app using SwiftUI that demonstrated the skills we’ve learned so far — including multiple screens, clean navigation, reusable components, and interactive elements. The app needed to be based on something we’re genuinely interested in, and we were encouraged to push beyond our lessons to date by incorporating a couple of new skills.
The problem.
I set out to create a Foo Fighters 30th Anniversary Tour app. As a huge fan, this is something I was personally excited about since, at the time, the band was actively on this tour. While I had some pretty straight-forward ideas for my views, I realized I also had a couple of ambitious goals: streaming live tracks from Bandcamp and custom image-based buttons to guide the experience. I also wanted to focus on the design of this app by bringing more art direction to the choices I was making in layout and photography elements.

The solution.
I developed a four-view app centered around what fans would want most: bios on the band, upcoming tour stops, officially shared live recordings, and a way to stay connected. A bold hero image leads into custom image-based navigation buttons, each built as an extracted component to keep the code reusable and tidy.

While the band has been around for 30 years now, the line-up has changed just a bit through the years. And, with a new and exciting drummer behind the kit, I wanted to make sure everyone was introduced to the band properly in this view.

The Tour Dates view integrates MapKit to show geographic context for each stop on the international tour. The “Buy Tickets” button also links out to your browser so you can get your tickets for the tour.

One of the biggest technical hurdles was embedding music. The band recently released several live recordings from the tour's warm-up shows that I wanted to incorporate, but they’re only available on Bandcamp. Since Bandcamp requires streaming through their native player, I embedded the live tracks using WebKit — ultimately achieving a functional audio experience inside the app. I also built a newsletter sign-up form for users who want updates, even though forms hadn’t been covered in class yet.

Throughout the app, the UI design reflects the Foo Fighters’ gritty rock-and-roll style with strong typography, a high-contrast palette, and a dynamic use of black-and-white photography.
The results.
I’m really proud of how this project turned out. The app feels visually authentic to the band and intuitive to explore. I not only delivered all required features, but pushed myself by incorporating WebKit, MapKit, custom image-based button components, and a fully functional form. I proved to myself that pushing beyond my comfort zone leads to some pretty exciting results.
[embed]
Technical highlights:
· Built a multi-view SwiftUI app with four primary screens and smooth navigation using NavigationStack · Implemented MapKit to show live venue locations on the Tour Dates view · Integrated WebKit to stream official live tracks directly from Bandcamp · Designed and coded custom reusable components, including a NavTile view (for image-based navigation buttons) and MapView (for six unique tour dates) · Created a fully functional subscription form using state variables and form validation elements · Extracted views for “Band Bio” and “Venue info” arrays, traditional button and image-based button styles · Kept project organized with comments, extracted logi,c and assets across multiple Swift files · Developed an accessible and intuitive user flow reflecting real-world entertainment apps
메타데이터
- post_id
- a49e22b3aa5e
- slug
- three-decades-of-rock-a-case-study-about-a-native-app-a49e22b3aa5e
- url
- https://medium.com/@johnmteter/three-decades-of-rock-a-case-study-about-a-native-app-a49e22b3aa5e
- canonical_url
- https://medium.com/@johnmteter/three-decades-of-rock-a-case-study-about-a-native-app-a49e22b3aa5e
- author_url
- https://medium.com/@johnmteter
- status
- ok
- fetched_at
- 2026-07-20 16:49:03