Inspiration

Labor contractions can be intense, and breathing techniques are often taught as one way to help manage the experience. I wanted to create a tool that could support slow-exhale breathing without requiring the user to think about complicated controls or instructions.

The idea for Futore (ふーとれ) came from a simple question:

What if a breathing app became almost invisible, so that the user could focus on breathing rather than using the app?

This led me to design Futore specifically for expectant mothers preparing for labor, as well as birth partners who may support them.

What it does

Futore is a simple breathing-guide app focused on slow exhalation.

Users can choose an exhale duration of 10, 15, or 20 seconds, or set a custom duration. They can also choose how many times to repeat the exercise.

When the exercise starts, Futore provides a simple countdown for the exhalation. There is no complicated breathing animation or unnecessary interaction. The user can breathe in naturally and focus primarily on slowly breathing out.

The goal is not to make the user operate an app. The goal is to make the app get out of the way.

How we built it

Futore was built as an iOS 17+ SwiftUI app.

I wanted the first version to be lightweight and reliable, so the MVP works offline and does not require an account or registration.

The main technologies and services I used were:

  • Swift
  • SwiftUI
  • UserDefaults for local settings
  • RevenueCat for monetization
  • AdMob for advertising
  • App Store Connect for distribution

I designed the interaction around a single core action: start the breathing exercise.

The monetization system was implemented with RevenueCat as part of the project, while advertising was integrated through AdMob.

Challenges we ran into

The biggest challenge was deciding what not to build.

Breathing apps often use visual animations, guided instructions, sounds, multiple breathing phases, and many customization options. It was tempting to add these features, but for someone dealing with strong discomfort or anxiety, additional information can become another source of cognitive load.

I therefore deliberately kept the interaction minimal.

Another challenge was balancing simplicity with usefulness. The app needed to provide enough guidance to make the exercise understandable, while avoiding the feeling that the user had to carefully follow an app during a physically demanding moment.

I also had to learn the practical parts of shipping a real app, including App Store Connect configuration, privacy requirements, advertising integration, RevenueCat setup, testing, and App Store review.

Accomplishments that we're proud of

I am proud that I took Futore from an idea to a publicly released iOS app.

As an individual developer, I handled the product planning, UI/UX design, SwiftUI development, monetization integration, advertising setup, App Store submission, and release process.

Futore is intentionally small, but it represents the complete process of taking a product from concept to something people can actually download and use.

What we learned

Building Futore taught me that shipping a small product is very different from simply building an app.

The technical implementation was only one part of the process. I also had to think about privacy, monetization, App Store requirements, user experience, testing, and how to communicate the product clearly.

Most importantly, I learned that simplicity is not the absence of features. It is a design decision.

For Futore, every element had to answer one question:

Does this help the user focus on breathing?

If the answer was no, I tried to remove it.

What's next for Futore – Breathing Guide for Labor

I would like to continue improving Futore based on real user feedback.

Possible future improvements include making the experience even easier to use during contractions, improving accessibility, and exploring additional ways for birth partners to use the app as a support tool.

I also want to continue learning how small, focused apps can solve specific problems without becoming unnecessarily complicated.

Built With

Share this project:

Updates

Submission history