Hacker News new | ask | show | jobs
Show HN: Patterns – Habit Tracker App (apps.apple.com)
73 points by degisner 959 days ago
Hi everyone

I'm a Notion-addicted person and love to build my own template to cover different aspects of my life, either work or personal stuff. Once, I wanted to build a habit tracker template, and I realized Notion was not the best solution. You can organize it in a much more efficient way just with a pen and a piece of paper. However, the best tool should live on your devices and have a correct structure. Then, I decided to try to build an app using SwiftUI and SwiftData.

The goal was to make it a very basic version in one month. But it took me two months. I tried to add only the core features for MVP and see if it works for others. On Twitter, it already received some love, and I'm very excited to share the app here to get even more feedback.

Let me know what you think

14 comments

Lovely looking app, well done. I hope you're able to build enough of a business around this to keep the updates and improvements flowing.

To those complaining about subscriptions, it's the only viable way to build a business around an app now (even one small enough to justify hobby time spent on it when it's not so fun any more).

Why?

1. Customer acquisition cost is sky high, after the initial release bump, getting new users is a trudge and expensive, the amount people are willing to pay for a one off is too low to make most apps viable.

2. Software isn't one and done, even a little app like this needs annual updates to keep inline with the OS.

3. Users say they don't want new features, but they do, to do that the dev needs to be incentivised to keep working on it.

4. Subscriptions = better software ... because the dev gets to keep working on the app.

5. They allow indies in to the market, bigger companies with enterprise offerings and more routes to market can charge one and done, free, ad supported etc. Indies need regular predictable income, subscriptions provide that.

The people who say "give me a lifetime price" are really saying "give it to me free". Even those who do land up paying the inflation adjusted correct price for it based on what you paid back in the day (seriously, look at the inflation adjusted price for the one and done software from 20 years ago, it's laughably expensive compared to a few bucks a month sub) land up costing the dev money in the long run. Any established indie app developer (especially if they have server costs) who offered lifetime regrets it after a few years.

I had made one app for iOS back in 2017. What people don't get is that even if the changes on the iOS are minimally impacting YOUR app, you still need to be reviewing the iOS changes, testing, updating it constantly (every couple of months you need to make sure it's up to par). Also the time from clients' questions, getting feedback and making improvements, etc.

The fee also hurts. Especially if this is how you make a living. I pulled the app as the costs + income - time was not worth it (I put a big price-tag on my time)

> 4. Subscriptions = better software

this is the way to go, and one better has a darn good app because nobody will be paying you $1-$2-$5-$10 per month in perpetuity if it's not great

I've tried all the best from all the sides: - Free users have almost everything to get started without annoying ads or randomly appearing paywalls; - Paid users have all the pricing plan types that work for them: monthly, annual, and lifetime.
The problem with most habit tracking apps is that they don’t put your habits in context with the rest of the day. For example, let’s say you miss a day reading, and that becomes a pattern. Current apps may not surface the fact that you’ve taken on too many evening commitments because they can’t show you your calendar.

I’ve been using Chronicling, another iOS app by an indie dev, and it lets you track just about anything, but since you can’t get data out easily you end up having a silo of events about habits without any sense of why you may or may not be keeping habits.

So, I’m building my own activity tracking now with a grist database since they have a nice API and in the end you end up with SQLite files which are highly portable. I am integrating a bunch of iOS shortcuts and also using n8n to auto populate as much as possible into the tracker so that I can correlate habits with other daily activities.

This is the reason why there are so many different habit app approaches. My understanding of habits was to see it kind of from the bird's eye view. I want to grow it and cover more cases like repetitive habits, reading data from the Health app, etc.
Do you have any of that work written up or the code up somewhere?
No it’s still in its infancy. I’m focusing on capturing data as seamlessly as possible but I don’t want any of it to reside in a silo. I’ve got about 15 different shortcuts right now but I think I could probably pare this down with some custom shortcuts if I can figure out how to build them into a simple app. I’ll do a write up at some point when the system bears fruit.
Like others said, subscriptions suck, and especially since there are apps like ”Habit List” (which I use) that have a one-time payment of only 6€, I’ll rather use that.

It should not be a complicated app to make and maintain. The yearly Apple developer payment sucks but that is not my problem.

I think subscriptions are great especially for solo projects like this. They align incentives between the developer and the customer and can support maintenance and feature requests. If it's a one off payment I'm worried the app will die and not be supported.
I use https://github.com/iSoron/uhabits This is actually really a good app!
Does Loop support a variable schedule? Like "every 3 to 5 days"
The main view looks similar. I love this approach!
Hard to understand why something this simple would need iOS 17? Seems potentially worth it to digging into ehy you can't do a slight refactor to support ios 15,16
Interactive widgets is iOS 17 only. Also, since it's a new app (and I think) a new-ish developer, I doubt they want the hassle of supporting old OSes for a key app feature.
Exactly! Interactive widgets were the number one reason why I picked iOS 17 only.
In the the post he mentioned building the app with SwiftData. SwiftData came with the iOS 17 release.
Probably SwiftUI dependencies - onChange was changed in 17 which breaks and complicates a lot of code
I love the design. Thank you for making this.

I like the fact that you have a lifetime plan. Given that this is a mobile app, having a lifetime plan is easier to pay-and-forget.

Hope you find success with this app.

Thank you for the support!
The app looks good so far! As the indie developer behind https://everyday.app I'm happy to see more indies joining the market :) You have a lot of work to do ahead!! heheh

Cheers and happy to help!

I've just checked Everyday. Such a wonderful app! I'm going to dive deep into the competitors' functionality rabbit hole soon to see how far I can go lol.

Thank you for being polite and positive. Before, I got only bad reactions from other competitors (if they were really competitors).

ahh, ignore that noise. They don't realize that we all together raise awareness on habits and habit tracking and thus we all benefit from each others' work!

keep it up!

I used this one for a while: https://polarhabits.com

However these apps should integrate with HealthKit.. I want to run 30km/week, it should be able to track that.

Beeminder is cool with their visualizations.

I'm the maker, and you're totally right. It would be great if some habits could be tracked automatically. I'll be building a native mobile app soon, and will do my best to remove the friction of logging habits!
Cool shameless plug AND a very nice interface.. I really like the look of it!
Suggestion: make it possible to track events rather than habits, without a monthly/weekly/daily objective, and then a couple of stats (day of the week / hour of the day graphs for example)
Good suggestion! I'll consider it.
I love the concept of this app, I organise my habits in this way using an excel spreadsheet but I really like the idea of having this as a minimalist alternative to that
Is there any reason for regional restrictions? The app is not available on my AppStore (Russia)
I ditched all apps for habits, focus, goal oriented. I realized my brain could do that for free and without technology, with some work.
I think most people do not realize that the real secret is just doing the thing most of the time and not overthink the times the thing could not be done. And many don't understand that time is limited but energy and focus also is. It does not matter that stuff are planned/schedule or that there are blocks of "free" time, you really can't maximize efficiency for everything, and it would not make a significant difference anyway. The key is strong focus on what matters and letting everything else in the background.

This is why very often I get absolutely stunned at how much inefficient crap people put up with in their life, of course at the end of the day they have no real time/focus power to do anything worthwhile.

The task of managing your habits can also become another thing to put energy into. When it's frictionless it helps get stuff done, but when it's complicated you end up organising and moving information around instead of becoming more effective.
does anyone know the Android alternative?

Or I request author to make one

I've been using Loop for years, I find it very simple and efficient to use. It's open source and has just enough features to do its job well.
https://habitica.com/static/home

A gamified approach for both Android and iOS.

I use https://conjure.so/ it's by far the best habit tracker I've found
Free - Up to 5 Habits; $9/month - ;

I can not imagine world where I pay this much for checkbox app.

I think it's much more than a checkbox app. It does time tracking, objectives, supports integrations with other services like Apple Health and it has a great reporting and data insights.

It really is an impressive and incredibly polished service.

https://everyday.app supports android and ios too
I wish I could build an Android version using SwiftUI... This is so sad I can't cover both platforms atm.
What does it other than habitty
Thank you for not including surveillance in the app. I’m buying it to show my support for this decision, even before I know if I will use it or not.

Edit: spoke too soon. It seems to hang on “Loading pricing plans…” so I can’t seem to. It’s good you offer a lifetime plan (the only way I would buy it) but subscriptionware is repulsive. Please consider just not using subscriptions.

Expecting not to have a subscription for a mobile app in 2023 is not realistic.

For an app to be available on the app store, even if no features are added, needs to be regularly maintained. That maintenance has a cost. If you want to have an application with no maintenance, just side load an app file and be done with it.

What are the regular maintenance costs that are specific to a mobile application? And more importanty, how does the Streaks app from Crunchy Bagel manage to do without subscriptions?

My point being that the recurring cost of a developer license can easily be diluted on one-time payments.

Dependency updates, security updates, bug fixes. Yes, if your userbase is in the hundreds of thousands, the one time payments will cover a developer's lifetime of maintenance work. But if you are a random HN dev with a 20-user app, then the 100 dollars, you will not cover a 10 year period of maintenance work, unless your app has zero dependencies and doesn't use any web apis.

Crunchy Bagel is not a random HN dev making a random app. I highly dislike this attitude people have with expecting free work when it comes to software. If the app was sold as it was with 0 additional work of any kind, I bet you wouldn't buy it. You expect free work. But if I ask you to come clean my toilet for free, you wouldn't do it. This is why we have ads on the web nowadays.

But the dev here claimed they created this tool for themselves. If that is the case, why not let everyone else use it for free too if you maintain it for yourself anyway.

I wouldn't answer questions or read feedback then as a dev because it's not a product really, but why not go that route?

This is very privileged. Opening an app up for public use is exponentially more effort and the developer deserves to be compensated for it
It's the difference between having an internal library at work and having an open source library in github. If you are using it for yourself, backwards compatibility, and breaking things are not necessarily issues
> You expect free work.

Now that's a stretch.

Try to look a bit further than the simplest things. An app can be provided for free if the app itself is not meant to make money but as a funnel to bring more customers to other related business.

For a design company, just getting the exposure and being talked about [1] (i.e. nothing tangible) can already be worth enough giving some work for free.

So you might work for free giving away muffins on the street if that might make people want to come to your cake shop and buy some other stuff. But it's silly to think that you should give your pastries away if you don't have other products and pastries is the only thing you do for a living.

Crunchy Bagel also have HealthFace, Hexiled, and Streaks Workout apps, all monetized. See the pattern? IMO, Streaks is just their way to show off their good design and coding practices.

[1]: https://www.triplezero.com.au/ designers of Streaks, winners of Apple Design Awards 2016.

Maybe you should look further into things.

"An app can be provided for free if the app itself is not meant to make money but as a funnel to bring more customers to other related business."

You are assuming that a random HN dev has a business at all which is not necessarily the case. App <> business

"So you might work for free giving away muffins on the street if that might make people want to come to your cake shop and buy some other stuff. But it's silly to think that you should give your pastries away if you don't have other products and pastries is the only thing you do for a living." You are just agreeing with me here. Making stuff available for others is more work and software is not different unless you just drop the zipped app file in mediafire and leave people to do with it whatever they want.

Ok deal, but I'm not sure what was to discuss then...

Patterns, the app discussed here, is definitely a business. They are asking for a subscription fee because presumably they want to make a living out of it. Also, it is the only product they have to offer (it doesn't look to be the case of being a free goodie intended to bring customers to other business the author might have).

Thus, my point was that it is not reasonable to compare it to a free offering like "how does the Streaks app from Crunchy Bagel manage to do without subscriptions". They are just whole different categories of products (or maybe to nitpick, the intentions and financials behind them are totally different).

A lifetime with 1 year of free updates is an optimal model. You buy a "support package" of one more year of free updates to receive future updates. You can continue to use it for a lifetime, but don't expect lifetime-long updates for a fixed price.

However, devs must build an app with feature flags in mind from the start (or at least from the point of introducing a lifetime plan).

Why does the App Store support pay-once apps, then, if it is not realistic?

The majority of small developer apps are not subscriptionware. Many developers have for decades successfully run a business without recurring perpetual income from completed sales.

Resist the drip feed demand that developers be paid in perpetuity for work they did once. Not all software is SaaS.

> [...] but subscriptionware is repulsive. Please consider just not using subscriptions.

I get where you're coming from, especially if an app has no service component, but it's inevitable if a platform has no good way to charge for upgrades. And as much as some people would like to buy a version of an app once and keep using that same version forever, platforms also make that impossible by changing the environment an app runs in in backwards-incompatible ways, so the software needs to be maintained, and that has a price.

In the past this was solved by releasing a new major version of the app. Want the new version? Buy it again. Otherwise you could still keep the old version until it broke.

Taking away consumer choice is never a good thing and that is exactly what subscriptions are designed to do. Not to mention that subscription pricing is always ridiculously high.

In my opinion having a yearly big release is not great for users. Feature and fixes should that could roll out weekly are artificially delayed to the next major release only because of the pricing model.
> subscriptionware is repulsive

This is far too extreme. It's not repulsive. Just don't choose it if you don't want it.

Thank you for buying the premium! I don't really love the subscription type of paying as a user as well, so I included the lifetime option.