Aleksei Duriagin
I’m a Web and iOS developer. Maker of Quick Habit.
GitHub Github Mastodon Mastodon LinkedIn LinkedIn RSS RSS

Quick Habit: My First Mobile App

Habit Tracker. Track your progress with detailed statistics and motivating streaks. Insights. Detaild reports to understand and improve your habits. Customize your experience. Dark and Light themes. Effortlessly switch between light and dark themes. Widgets

I have long been interested in mobile app development and this year, I decided to achieve this goal by releasing several iOS apps. The first app idea I had was a habit tracker. While there are many similar apps available, my background as a software engineer inspired me to create my own version. I took a lot of inspiration from apps that already exist. For instance, a notable feature is the GitHub-style heatmap, which shows how well you stick to your daily habits. Calendar at the top of the screen is an excellent way to navigate between days. I also came up with a couple of my own ideas, which I'll discuss in more detail below.

Features

The app categorizes habits into two types: Good and Bad, each tracked differently. I'll start with common features before discussing specific ones for each habit type.

Common Features

Heatmap

Heatmap Heatmap

This feature visually shows how consistently you practice a habit. For instance, if you miss one of two daily occurrences, the heatmap indicates your progress without suggesting that you've abandoned the habit, thus helping maintain motivation.

Current Streak

This displays the duration you have successfully maintained a habit, serving as a motivational tool.

Stats

Calendar

This allows you to review past days and track your monthly progress.

Calendar Calendar dark

Visual Representation with Colors and Emojis

Allows for easy categorization and identification of habits using a combination of colors and emojis. This approach, using emojis, simplifies user interaction and offers a visually appealing experience.

Emojis and Colors Emojis and Colors dark

Widgets

The initial release includes three Home Screen widgets. These widgets serve as a representation of in-app content, though they are not interactive due to current technical limitations on Apple's platform.

Widgets Widgets

Good Habits

Good habits are the ones where you mark each successful day manually. For instance, you have a habit ”Read books” and you want to do this every day, you should open the app and check it.

Good habits also have useful feature called Reminders. You can set as many reminders as you want. It will remind you about activities you planned to do.

The repeat feature lets you do a habit on specific days. For example, if you plan to go to the gym three days a week (Monday, Wednsday, and Friday). Streak will be calculated based only on these days.

Bad Habits

A bad habit is when you only note the days you didn't succeed. If you don't meet your goal for the day, as set in the app, it counts as a failed day and your streak starts over. This way, I can measure a streak more precisely, showing even minutes and seconds. Good habits only track the days you succeed.

Premium

I do not think it's a good idea to limit features in such app to encourage users to purchase the premium version. The only limitation for the free version is that you can add only 3 habits and a small visual feature, which is changing the app icon to a premium one. I think this approach will help the app stay competitive with other habit trackers.

Premium Icons

Plans

There are lots of plans for the app. I won’t disclose everything, I'll share a sneak peek. I understand the importance of having versions for WatchOS and iPadOS, as they offer more flexibility in using the app in various scenarios. Additionally, having notes with a rich text editor is crucial. Features like creating habits from presets and motivational elements such as quotes, reminders, and widgets are also part of the plan.

Download Quick Habit

P.S. As I mentioned before it is the first production ready iOS app that I've made. Being primarily a web developer, I notice many similarities between web and Apple platforms. I hope this experience will help me improve my skills in Swift and creating user interfaces for Apple platforms.