Kiez: Explore Berlin
This project started with the curiosity of a good friend of mine, they were always very interested in the borders between the different neighbourhoods in Berlin.
That made me start wondering about those borders myself. Luckily I found a dataset on the bureau of statistics of Berlin website. 1 I decided to create an app to help keep track of which neighbourhood you are located in right now.
Kiez is designed to enhance your city exploration experience. As you roam around, the app keeps you informed about the specific neighborhood you're currently in. But it's not just about awareness - Kiez has gamified the experience. It challenges you to 'collect' all the neighborhoods in the city, turning your urban exploration into an engaging and fun activity. Each neighborhood you visit is marked and added to your collection, encouraging you to discover new areas and learn more about the city's diverse districts. It's a unique blend of discovery, learning, and gaming.
A significant portion of the development was dedicated to devising a method for notifying users upon entering a new Kiez. This task was challenging due to Apple's restrictions on the amount of background processing time allocated to apps.
Did I mention there are achievements?
The app's design adheres to Apple's native iOS styling. This approach was chosen to expedite the development process and to ensure an enhanced user experience right from the start.
Given my keen interest in Augmented Reality (AR), I dedicated an entire day to work on the AR feature of the app. This feature is designed to enhance the user experience by providing an immersive, interactive view of the city. By overlaying digital information onto the real world, users can gain a deeper understanding of their surroundings. This work involved understanding the ARKit framework, designing the AR experience, and integrating it seamlessly with the rest of the app's functionality.
The apps development started off with a prototype / proof of concept which I created within the span of two weeks. This proved for me the fun and also do ability of creating the App. Polish and getting the app through app review took another month after that.
The most challenging part of creating an app that kind of interacts with the real world is the Quality Assurance (QA) process, it's very hard to simulate a device's day to day interactions and seeing where the app potentially fails. During development every errant simultaneously became a QA session.
- Designer, Developer
- Swift, SwiftUI
The app is written completely in native Swift and SwiftUI code with only one external library to do the processing of GeoJSON. The database and persistent storage makes heavy use of Apple's SwiftData framework and AppStorage protocol.
With the help of some friends, I also managed to translate the app into German, Dutch & Polish with hopefully more translations to come in the next year.
The Android version is planned but waiting for some potential funding opportunities. If you know of any others let me know