My First App - Grow (Journey from Scratch!)

This is a completely new idea that I have played with inside my head for the past several weeks and have decided to bring to life upon completion of the Foundations, Networking, and Databases courses offered by CWC+! My plan is to gather and refine feedback on the idea (which I will share here in a bit) so that I can publish an app that serves a purpose and hopefully provides something meaningful to the lives of many Apple users. Here is the rough outline:

The Grow app will adopt some aspects of a screen time limit and productivity apps while executing its purpose in a much more friendly and meaningful way. Instead of blocking an app or website (giving the impression to the user that they are doing something wrong by spending too much time on distracting material), there will be a notification or full-screen sheet that appears, letting the user know that the Grow app has detected an extended period of use on a certain app or website, and a detailed description along with a suggestion to call a friend or get some sunshine depending on what the user is distracted by. The purpose is to communicate to the user a relevant alternative to scrolling through hundreds of social media posts or watching a bunch of YouTube videos; in short, solutions to time sinks in general. Of course, everyone is different, so customization will be an important aspect of the Grow app, giving the user the say in what content is “distracting” and what they spend too much time on. All of the information will be processed on-device, at least to the greatest extent possible.

Given that this is primarily a concept app, I plan to first launch an MVP of it to see how it is received; plus, I hope to listen to your feedback throughout the design and building process since I have had no experience in publishing an app prior to this. In fact, I’m not even old enough to join the Apple Developer Program! However, that simply means that I will have time to test and refine and polish my app so that when the time comes, I am able to launch something that hopefully at least a couple people will find helpful. Of course, I do not expect the Grow app to be something that will explode with popularity (frankly, I do not even know if it will make it to my own device), but I hope that by following the advice of users and consumers, I am better able to fit the need of a new category or group.

I look forward to any feedback; even a suggestion to change the whole purpose of my app would be accepted! If there are any concerns with my app strategy (which is at best a sketch of what it might be), please let me know. I will try to adjust and improve as needed. Pretty soon I will begin a design concept in Figma (or Sketch) as I learn along with Chris in the App Store course.

Thanks for reading.


Update 04/04/2024

Following my first update on the Grow app, I would like to mention what has happened since then.

Having made it through the CWC+ iOS App Store Module 3, I decided to take a step back and really dive deep into app design by taking the CWC+ Design Course and purchasing The Essence of Software by MIT professor Daniel Jackson. I am a stickler when it comes to details and app expression because a clean and beautiful app matters to me and is part of the reason why I primarily use Apple products in my day-to-day life. When I first look at the way Apple design works, it seems extremely simple and intuitive; everything just works, and it works really well. What is complicated is when you think about all the principles that need to come into play before your app’s interface becomes second nature and adapts a presence that conforms to the user instead of the user conforming to the device. Apple’s Human Interface Guidelines are practically the language of connection between technology and humanity; once you really learn how to implement them, your app becomes a magical piece of software that helps the user accomplish their goals in the most intuitive way possible.

In terms of my app itself, I have created a few design concepts in Figma as well as several pages of my own sketches for how I think the app should look. I am trying to decide which type of flower to use as a progress indicator in my app. Just a reminder, this flower will start as a seed and grow every time the user accomplishes another step towards their goal. Once they reach their goal, the flower will bloom in celebration of a good days work. So far, I have been using a rose in several different colors, but there a few problems: 1. A rose grows from a rose bush, not on a single stem. 2. Roses generally symbolize friendship and relationship related events. 3. Roses are rather complex plants and might draw away from a simplistic and understandable interface. Bearing this in mind, perhaps you can at least get an idea of what my app will look like from the screenshots I have provided.

Thanks for reading, and I look forward to sharing my progress next week, if all goes well!


P.S. The rose was designed by hand using Figma’s Pen and Pencil tools. I traced over a picture of a rose and used the color picker tool to match the plant’s real colors in my depiction of it. I used a similar process to create the first concept of the small plant.

Awesome. Very creative! Love the plant idea.

One thought I had while reading your description… how can you track the usage of other apps from within your app? Does Apple provide an API for that?

I like the idea and look forward to seeing where you take it.


Great question. I haven’t thought too much about the coding part, but in my initial designs and ideas about how to execute the app’s functions, I decided that Apple’s Screen Time API may at least give the Grow app insight into the user’s general device usage. Overall, I think the plant/flower growth will be more of a user-triggered action (for example, if the user is texting back and forth with their friend, they might receive a notification suggesting they call their friend instead and when they tap on “Call this friend,” it will update the plant growth in the Grow app and call this friend). I feel like the only way to know for sure if the user completes the goal is to have them click on an action that directly leads them towards the alternative action (such as “Call this friend”). Let me know if you have any suggestions! I feel like there could be some better and more efficient way to complete this. My hope is to avoid the on-device strain of calculating all the achievements and goals of the user, and instead have the app work much like the CWC+ Project Tracker app in terms of user-input effects.

That was probably more information than you needed, but hopefully that gives you more of an idea on how I plan to execute this.

Have a nice day!


Update 04/11/2024

Well, I am quite excited to present my latest update on the Grow app!

Since last week, I have been able to complete the User Journey map and make some important decisions for the app’s architecture. Pretty much all of the Wireframes are complete, giving me a good idea of how flow, interaction, and layout will work. I read through a few chapters of The Essence of Software by Daniel Jackson, helping me to discover the fundamental principles that support good design, concepts being one of the most important aspects. (Concepts basically means what works behind the scenes of an app; for example, Word’s primary concept is the paragraph since editing and creation in word are based on paragraph style.) My inspiration in the design process has been from ChatGPT, Dribble, and Mobbin, providing me with a strong foundation for my app’s interface.

In terms of design, I have decided that the Lotus Flower will represent the user’s progress best in my app due its beauty when in bloom, as well as what it symbolizes in many societies: namely resilience, beauty, etc. Anyways, that is where I’ll leave it for this week! The pictures will tell more about it than my words can. By the way, I was only able to include some of the photos since there were a lot of them!


Great progress–very cool :slight_smile:
Good idea creating that user journey map as well. Helps one understand the view flow.

Thanks! Just for reference: Red Arrow = ability to leave current screen and go to assigned view; Green Arrow = result of navigation (i.e. result of clicking on TabBar item or clicking “Continue”); Yellow Arrow = result of scroll behavior within same page; Blue Arrow = result of action from within another view (such as adding a system-generated suggestion to the Up Next list under the Home tab).

Also, here is a link to the Figma preview for the Grow app Wireframes in case you want to get a better idea of the flow (this only works well on an iPhone 15 or 14 preview):

NB: No Update 04/18/2024 or 04/25/2024

Hello, CWC community! I will be out of town this coming week and will not be able to post another update until I get back. Unfortunately a very busy schedule leading up to this trip has made it difficult for me to make any progress on my app, so I have decided to withhold any updates until later. I apologize for the inconsistency. See you when I get back!

Have a nice day.

-Michael :slight_smile: