What does your app do?

Happit lets you track habits in a beautiful iOS native design, with intuitive and playful functionality. Completing a habit feels satisfying, and watching the colours fill in builds consistency. There are options and views to suit tracking different metrics and see what's important to you or streamline the view.

You can create and customise reminders to keep you on track, including when you're about to break a streak, you're at a location, or throughout the day. You can customise the notification message to motivate yourself!

The app also works on Apple Watch to allow completing habits, including directly from the watch face. Widgets allow completing habits from your Home Screen or Lock Screen, and even in Standby! iCloud lets you use the app across your devices, on iPad, iPhone and Apple Watch and stay in sync seamlessly.

What inspired you to build this app?

I've been trying to build habits and was inspired by the way that over time my Github contribution graph told a story. I found there were a bunch of really great existing approaches, but none that felt quite right for me, so I built my own. Similar to my approach with my app Barcodes, I really place a high priority on widget and Apple Watch support, and always prefer my data to sync over iCloud across my devices. I also realised I already had a great source of data on my wrist in my watch, so I wanted to build out a graph style habit tracker with everything I wanted, and have it also able to ingest data and track habits automatically based on my HealthKit data.

How did you go about building Happit?

Opened Xcode, installed RevenueCat into a new project and got going. I decided early on to use Swift 6 and complete concurrency, which was far easier to use from scratch than migrating an existing project. I reused or adapted a lot of code from my other projects to bootstrap this faster. So lots of things like the Settings took a lot less time than it would have from scratch. I worked on this as a side project to my existing side project to my freelancing work, so it was a little frenetic to try and race to the finish line! Experience across different projects let me move a lot faster, and drop in SDK's like RevenueCat make it easy to integrate functionality with minimal effort for maximum reward.

How are you going to monetise? What's your thinking around the business viability?

Habit tracking seems to be exploding in popularity at the moment, despite already being popular for a while. Despite this leading to a crowded market currently, I think there is still room to expand the pie by creating a new habit tracker that offers slightly different features and UX, that may resonate with people even more. It's a market which I think is well suited to word of mouth, as in general when it comes to self improvement people tend to be willing to share the things that have helped them!

As such, Happit takes design cues from Github and their contribution graph to show habits in an intuitive and visually appealing way. There are already a bunch of apps that allow you to track your habits and see it on a github style graph on the App Store, including Sebastian Röhl's fantastic HabitKit, and I think I even saw David Steppenbeck creating his own for this Ship-A-Ton. However none of these have quite the combination of design and features that Happit does! So my aim is to try and expand this niche by appealing to people who might have liked the look of any of these existing apps, but weren't quite convinced and want a little more in terms of integration into the ecosystem like Apple Health or iCloud, or a different UX.

Happit also adds views like showing your recent time periods, whether that's days, weeks or months to see at a glance your consistency. You can use a simple menu picker to pick which of these views suits you best. There's also options to visualise your streak, as well as your consistency, or colour whole periods as completed not just the days you actually recorded the habit.

With all these little things and bigger features, I hope to delight users enough that they recommend to friends! This niche in particular I think is well suited towards natural word of mouth growth, as people love sharing tips and tools that work for them.

How does the onboarding and paywall play into the monetisation strategy?

The onboarding is designed to let people immediately see how easy it is to start tracking their habits, and get a little bit of buy in straight away. It also lets me contextualise the request for notifications permissions, so that it's like they are toggling it on rather than an unexpected pop up.

The paywall is inspired by the Blinkist design, with the aim of communicating to people who've possibly never set up a subscription before the basics about how it all works. The benefits and reasons to subscribe are laid out simply, and choice paralysis is minimised by only showing the annual subscription to begin with. You can tap to show the other options of course and choose either monthly or lifetime if preferred.

Have you considered ASO?

Yep! I don't think I'll have an easy time ranking for "habit tracker", at least not immediately so I'm trying to rank for long tailed key words like "Apple Health habit tracker" or "HealthKit habit tracker" and will iterate and refine over time.

What challenges did you encounter during development?

Performance! My initial atttempts using SwiftData were terribly slow. They worked well for say one habit, and started slowing the app down massively at two. The app is still a little slower in places than I would like, but it's leagues away from where it was.

What accomplishments are you most proud of with Happit?

Shipping! When Apple announced WeatherKit I build a whole app that I never shipped, and I have a tendency to over polish, over engineer, and over feature load my apps. This hackathon gave me the push to wrap it up enough for a v1, and get it out there.

This is also the first time I've done a fully featured onboarding, and I've gotten feedback from people already saying that they really love it. The app can be quite complex, so onboarding lets you get set up immediately, and also gives me a chance to explain the features and subscription trial, inspired by the Blinkist paywall approach. Crucially, the onboarding allows me to show the paywall after giving the user the first guided taste of the app, and hopefully building interest!

What did you learn from creating Happit?

A couple of kinda funky SwiftData tricks, and some approaches to complete concurrency that i'm still not sure are a good idea.

What are your future plans for Happit - Healthy Habit Tracker?

More HealthKit integrations for different metrics, more view modes, more data on habits, sharing with friends, more streak features, I've got lots of ideas! I also want to experiment with the onboarding, as well as test different pro features and tweaking ASO. I think Happit may work well with custom product pages for different target markets, i.e. students compared to busy professionals, or health fanatics. Different features will likely appeal to different potential customers, so the App Store product page functionality, as well as RevenueCat SDK capabilities make it really compelling to try and see if there are more effective ways to pitch the benefits of the app!

Built With

  • cloudkit
  • icloud
  • swift
  • swiftdata
  • swiftui
Share this project:

Updates