Holding a meditation practice has many proven benefits, including being able to cultivate an antifragile mindset that can't be fazed, no matter what happens in the external environment. However, as human brains are wired to think and react more to short-term, visceral-based instincts, it's sometimes hard to tell whether or not the benefits are actually happening. This is especially the case with more long-burn practices, like meditation, where it takes on average 6-8 weeks to notice a difference (and sometimes the difference is much subtler than one realizes).
The same kind of prioritization of present over future in our decision-making capabilities exists in not only our healthcare practices (painkillers have a much more obvious effect than vitamins, because we are able to discern the state shift quickly), but also financial decisions and environmental welfare.
I wanted to build an app that discounts the future benefits of meditation into the present-day stimulus. In short, an app that helps people track and visualize the effects of their meditation practice over time. The concept is simple: every time you meditate, you go to the app to track, and a black orb —representing your mental state— starts to crack to gradually reveal light, and go through other transformations over time.
I started with no previous experience with Swift / iOS development. I had worked in product before at a tech startup to help launch an iPhone app (but this was mostly on the product / operations side, instead of implementation), and have some prior knowledge coding at hackathons, but this was my first time building an app from scratch end-to-end. I spent about half a week ideating and wireframing, another week learning Swift basics, and about 2.5 weeks coding the actual app.
It was amazing to experience wearing so many different hats, from product design in Figma, to creating assets in Blender, to even mixing the background soundtrack via GarageBand.
After some initial freehand sketching and ideating in a journal, I created wireframes in Figma (screenshots below). This was a great way for me to collect assets, plan out the copy, and build an intuitive user journey that I felt comfortable with implementing. What's also great about Figma, is that I could use this as a very basic way to photoshop / alter elements (ie background color hue), and export them to different sizes to import into Xcode.
I realized that while I was designing the app, there were many features I was excited about, but would require much more nuance and time implementing than necessary for the MVP. I started a Google Sheet to break out the list of features and timeline for prioritization. I continued to add to this feature list during my coding process as well.
After watching (a TON of) YouTube tutorials on basic Swift programming, I decided the best way to implement the app was to use a UIKit framework in Xcode, and visually storyboard the user journey. There were many app simulations run during late nights, and I was grateful that Xcode allowed for the ability to run the program virtually on different devices.
Building the app taught me a lot about what was counterintuitively easy (adding haptic touch), and what was unexpectedly difficult to implement (getting the title to appear correctly on one line). What was great about being in control of the entire product was being able to go from ideation to implementation extremely quickly -- there were many times where after doing initial research on the level of effort required to implement a new feature, I had finished coding it within an hour, something that is much harder to coordinate on a larger project team.
Creating 3D assets in Blender was also another first for me. In illustrating the orb cracking open, and generating new light from within, I created custom assets to show the progression over time.
Finally, I used GarageBand to create the background soundtrack for my app. I've made some songs before, so this was a really simple process in experimenting with different synth loops to set the vibe.
With some more backend coding, I created the logic to string all of these elements together for a comprehensive user experience.
Overall, this was a fantastic experience in witnessing creating the entire product end-to-end. I learned as much about myself and my working environment preferences (love for product design, attention to detail about aesthetics, excitement of wearing multiple hats) as I did about the development process itself. I realized how much I enjoyed the entire process of creating and generating, and the act of creating something that my friends would use and potentially benefit from made me put more effort and intentionality into it. In some ways, this was a metaphysical offering of a product of what I felt like the people around me deserved, and of the quality I demand from myself as well.
Finally, as an ending note - this endeavor made me realize how intimidating building apps seemed on the surface, but in reality, it was easier once I got started. Most of the journey was investigation-in-progress, and was very cool to see how many of the elements clicked together in the end. I leave with a renowned sense of "there is so much to build!" and am still dreaming of future additions to this app, and new projects to create: a virtual reality extension? An immersive storyline that includes various types of guided meditations?, etc, etc.
Give the app a try on the app store here!