© 2026 Java Kanaya

Eira

A SwiftUI app showcasing a friend's life journey through interactive MapKit visualizations.

Swift

Overview

Eira is a SwiftUI application built to introduce my friend, Celinka Eira Jove, through an interactive visualization of her life journey. The app uses MapKit to showcase the various places she has lived—from her birthplace to where she is today—creating a slideshow-like experience that transitions smoothly between locations on a world map. Enhanced with Portal, a third-party SwiftUI package for elegant element transitions, the app delivers a polished and engaging user experience.

Project Goals

This project was created during my time at the Apple Developer Academy as part of a learning challenge focused on mastering SwiftUI fundamentals. The goals were twofold: to build technical competency in SwiftUI—including views, HStack/VStack layouts, navigation, and Apple's Human Interface Guidelines—and to get to know our teammates better through a creative introduction format.

With a tight timeline of just 2 weeks, the project pushed me to learn quickly while building something meaningful and personal.

Screenshots

Eira app map screen and favorites screen
Interactive map visualization and favorites screen
Light and Dark modes implementation
Light and dark mode support

Challenges and How We Overcame Them

The biggest challenge was working with MapKit for the first time. Although I could have relied entirely on AI-generated code, the initial results didn't match my vision. Instead, I turned to WWDC sessions that introduced MapKit's core concepts, which helped me understand how it actually works rather than just copying code blindly.

Another challenge was designing the map view's UI/UX. My first iteration felt sufficient, but after continuously seeking feedback from teammates and iterating on the design, I realized there was significant room for improvement. This feedback loop taught me the value of user input in refining an interface—what I thought was "good enough" became much better through collaborative critique.

Integrating Portal, a third-party SwiftUI package, was also a learning moment. While the transitions looked great, I had to learn how to properly integrate external libraries into an iOS project—understanding package dependencies, version management, and ensuring smooth integration with SwiftUI's existing navigation system.

Learnings

This project taught me the fundamentals of MapKit, from displaying maps to creating custom annotations and animating transitions between geographic coordinates. I also gained practical experience integrating third-party libraries into iOS projects, which is an essential skill for real-world development.

Beyond the technical skills, I learned how important iteration and feedback are in UI/UX design. What I initially considered complete was only a starting point, and the willingness to refine based on feedback made the final product significantly better.

And of course, I got to know my friend Celinka much better through this project—learning about the places that shaped her journey and story.