Show HN: A free minimalist daily habit tracker

rdht.vercel.app

158 points by pixd 3 months ago

Hello.

I was looking for a simple and clean habit tracker. I went through a few apps but felt they were missing something. I also had some time on my hands, so decided to make my own and share it in case anyone else likes it.

Some of the supported features:

Streaks based, track and beat your longest streaks

Fully useable offline

Freezes (similar to Duolingo's streak freezes)

Visual map for tracking consistency

Pause the app when you need a break or will be away

For anyone curious about the tech stack: - React for frontend - Dexie cloud for storage and syncing - Vercel for hosting

Link: [https://rdht.vercel.app/]

RockRobotRock 3 months ago

Like the design. Personally I think the barrier for a project deserving a domain is pretty low.

"Try for free" is ominous. If you have a paid plan, please have that on the home page. Otherwise, I wouldn't use that wording.

  • tempcommenttt 3 months ago

    That. When a page says “try” and “for free” in connection, I always research the hidden real long time cost before trying. If I can’t find it, I usually leave or Google to find out if the costs have been mentioned somewhere else.

  • pixd 3 months ago

    Thanks for the feedback, I updated the text.

    My intention behind "try for free" was to keep the barrier for trying out the app low. But I didn't realize that it would also imply a hidden price or some premium level

dylanwenzlau 3 months ago

Not sure how much or if this had influence from Guava at all, but I wanted to share the link since we've been around about 3 years and Guava is both free to track and seemingly a superset, except for explicit streak tracking: guavahealth.com

Streak tracking seemed more of a vanity non-health-related aspect so we've left it out so far.

Computing statistical insights based on arbitrary pairings of lifestyle habits is a big feature for many people

  • DavyJone 3 months ago

    > Not sure how much or if this had influence from Guava at all

    I don't see any similarity between the two that would lead me to believe that there is influence. Why do you mention this?

    This seems like a plug to your product more than anything else.

timnetworks 3 months ago

Add a thing for bad habits too, and run the streak inverted. The more times you don't click the better.

  • smcin 3 months ago

    Or else make the bad habit a reward that has to be earned in some formula you specify, e.g. "walk 10,000 steps/500 calories to earn 1 beer/hamburger/donut".

  • tbihl 3 months ago

    Maybe just put 'refrain' in front of bad thing for the time being.

    • thih9 3 months ago

      “Refrain from going to bed late” makes me think of an alternative solution, not going to bed at all.

      Then again, I could reframe the goal and be more specific, e.g.: “go to bed early”.

nerbitz 3 months ago

Unusable on iPhone 13 mini. Couldn’t log in as the OTO entry screen was not visible.

  • pixd 3 months ago

    Thanks for the feedback! I'll have to debug for safari, not sure what the issue is

  • pixd 3 months ago

    ios issues should be fixed now. there was a problem with the zoom in and overflow for safari

  • lawgimenez 3 months ago

    Also on iPhone 12, otp not visible.

coreyburnsdev 3 months ago

Surprised nobody mentioned the two low resolution images on the front page. (my habits and the email input at the bottom).

Curious why you wouldn't just put the actual component there rather than a fuzzy-screen shot of them?

  • pixd 3 months ago

    I guess they get fuzzy on some different devices. When I was making it, picture was like the first thing I thought of so I just went with that. but definitely having the component there sounds way better

binary132 3 months ago

Nice! Something I’ve been noticing lately is that I’ll see something interesting like this, maybe leave a comment or try it out, and tab away and it’s as good as gone, even if I save it to my Telegram saves, or any other list — there’s just so much time-linear content coming in and past my mind that’s very easy to lose again unless something really grabs my attention and energy for a while, and offers something to look forward to tomorrow. Call it ADD or whatever you want, but there is simply too much content / information, even if it’s all useful and good and non-spammy.

Something along the lines of your app could possibly help “de-linearize” (?) things into a daily timeline or mindspace — I think everyone’s become so used to the timeline conditioning that it can be pretty harmful, really. Not sure what to do with all that.

criddell 3 months ago

This is really nicely done. It looks great and is very responsive. I have some things I track that aren’t daily so it doesn’t work for me, but I like that you didn’t build an app with a billion options.

Are you on the free plan for Dexie? How many users do you think you can support with the 100MB limit?

  • pixd 3 months ago

    yes im on the free tier. not really sure how many users can be supported on it. unfortunately the cloud manager doesn't show me how much data is currently being used

    • criddell 3 months ago

      You might want to establish a policy for abandoned lists. If somebody hasn’t used the daily tracker for a month, delete it. I know lots of people like me set up a tracker just to see how it works and realistically, I’m not going to be back again.

jasalt 3 months ago

This was cool, looks quite nice and polished.

I also made a quick activity tracker app recently but went with Django, Bootstrap and HTMX. Used it myself for few weeks but then moved on with other stuff. Can't seem to keep up using such app personally.

Cleaned up the readme just now and added a demo video https://codeberg.org/jasalt/tracker. Should be quick to setup with Sqlite locally. I've had it running on Fly.io (free) and connecting to Postgres on a some toy VPS.

Far from a finished thing but maybe can inspire someone.

ralferoo 3 months ago

I wonder how useful other people find streaks as a motivational tool. I'm interested in this, because I feel like I should add this to my own app because other apps do, so I guess some people must find benefit, but personally dislike them.

I can see they provide a great incentive to not miss a day when you've built up a very long streak - years ago, I'd built up well over 1000 day streak on an app, and sure it did motivate me on some of the days when I used the app for a token amount rather than losing the streak.

But then the inverse was true - when I finally missed a day, not because of laziness, but because I had 24 hours of flights and travelling 13 hours forward in timezones (UK to NZ), and crucially no internet access in the middle airport, I lost my streak progress. That was it, back to 0, through no fault of my own. At that point, I thought "Do I really want to use this app for another 3 years to regain my streak? Every day will be a reminder that I lost that streak unfairly..." and I thought about all the minor niggles I had with the app, and just stopped using it entirely after that.

I think maybe there's a better ground, like maybe a 2 day penalty, a week penalty, maybe a month... I'm not sure what would actually work well for motivation while not unfairly penalising accidents. But people travel, people get sick, people have unavoidable family situations. Routine and habits are good, but not more important than real life.

As a humorous note, the screenshot that prompted me to ask this question looks faked! The "Walk Daily" has 71 checks and a longest streak of 53 and a current streak of 34. If he's had a longest streak and then a break, sure the total check count must be at least 87? There's another picture of it with 503 checks, longest streak 450 and a streak of 432. Again, this seems broken and/or fake. I note that this app also has the concept of "streak freeze" that gets automatically applied - so it looks like it just records it rather than it being a penalty. EDIT: Just read via the github that the streak freeze is based on Duolingo's which seems to have a lot of discussion around it, and which also seems to be doing a bunch of weird things with freezes, but the key point is that you buy or earn them in advance and they get consumed as you miss a day.

  • pixd 3 months ago

    I also think steaks can be a good motivator, but it can be quite demotivating if you accidentally lose a long streak. That was the idea with the freezes, to still have the motivation element but try to cut out any of the annoyances that come with streak. They get automatically used, but as long as you complete at least one day before they run out, the number of freezes reset.

    In terms of your situation when you had to travel, you could also pause the app. That way when you get back, you'd pick up right where you left off without losing anything. I don't think these ideas cover every scenario, so there may still be room for improvement

constantinum 3 months ago

On a side note, The only habit tracker that has worked me is BEEMINDER.

  • binary132 3 months ago

    Beeminder reliably makes me spend money on Beeminder. :)

  • jackstraw14 3 months ago

    Ever made a side bet with yourself to remove the middleman?

davewasthere 3 months ago

Quick bug.

As an unauthed user, add a habit. Then log in. Habit has disappeared. (but can create habits, which then sync just fine to other devices)

I guess I was expecting my unauthed user habit to persist after logging in.

  • edgarvaldes 3 months ago

    I did it before your comment. My habit persists. Firefox on Android if that matters.

kecupochren 3 months ago

You can use 16px font size on mobile so the browser won't zoom in to the text field.

  • pixd 3 months ago

    Thank you! this should be fixed, I didn't realize ios had a zoom in feature like this. There was also an issue with the overflow not working on ios, which is also fixed

BolexNOLA 3 months ago

As someone with ADHD “streak freezes” are a thing I never knew I needed, wow. I’ve tried so many gamified habit things and the anxiety over potentially missed dopamine is just so present no matter how old or “wise” I become.

Excited to try this out

  • pixd 3 months ago

    Thanks! I wanted to have something that could serve as motivation but not detract from the idea of building consistent habits and this does seem to work well

shadowmourne 3 months ago

Had to create an account to say this is a good free app.

What's your plan to keep it up and running? Key concern from non-technical people such as myself is longevity of new apps like this.

  • pixd 3 months ago

    Thank you! The hosting and storage solutions are free forever so they'll stay up. Even if those get shutdown or something (unlikely), the app works fully offline so you'd still be able to use it

    • shadowmourne 3 months ago

      Awesome! As someone who struggle to do deep work, this is very helpful, i've tried many habit trackers already, most of them with paywall, and this one is quite straight to the point with no BS.

      Simple functionalities, add habit, describe, DO, repeat.

      This is a good use of software skills. Excellent job!

willlma 3 months ago

Is the assumption that you do these things once a day? Any way to edit the frequency? I'd like to do things every other day, once a week, once a month, etc.

  • pixd 3 months ago

    Currently yes. The main idea was to have something to build good small habits that you do daily. So no current way to change frequency.

    You could technically do up to every 4 days since you'll still be able to keep your streaks using the freezes

8mobile 3 months ago

Hi, wow I love the notion minimal style design. Where is the data saved? Are there any limitations in use? Congratulations on the habit tracker you created.

  • pixd 3 months ago

    Thank you! The data is always stored locally in your browser using IndexedDB.

    If you login, it'll sync your local data with a remote server. I am currently using the free tier subscription for this syncing. May need to upgrade later on

purple-leafy 3 months ago

Nice. I see the GitHub style tracker alot lately

edgarvaldes 3 months ago

Nice and clean. I would love a collapsed view of the habits. How does the offline mode works? Any monetization plans?

  • pixd 3 months ago

    That's a great idea, thanks.

    The data is stored locally on the browser using IndexedDB so everything works offline. If you login, it'll sync your data with a remote server.

    I haven't really thought about monetization as this primarily started as just a tool for myself. Might have to give it some though but not sure what I would monetize

  • gibolt 3 months ago

    Agreed. Being able to see more than 1.5 tasks on a page would be an improvement.

    It would also be nice to have some indicator (at the top) that all tasks for the day have been completed.

xon94010 3 months ago

Trying to add a check in the past but the calendar shows up but can't select a date. Using chrome.

  • pixd 3 months ago

    The calendar let's you mark days from one the habit was created, instead of any day in the past

getcrunk 3 months ago

Great idea!

Doesn’t work well on mobile safari

  • pixd 3 months ago

    Thanks!

    I'll spend some time debugging on safari and see what the issue is

thomasfromcdnjs 3 months ago

This is perfect, I've been wanting something like this forever.

  • pixd 3 months ago

    That's great to hear. Thanks!

tremarley 3 months ago

Those are features I’ve always been looking for in a tracker

pixd 3 months ago

Edit: issues on ios should be fixed now

indienico 3 months ago

Are you planning to launch an app?

  • pixd 3 months ago

    I haven't really thought about launching an app. Currently you could download the webpage as an app on your home screen. I wonder if a native app would be more useful

FrancoisBosun 3 months ago

I use an iPhone 12 mini. In portrait mode, the site was nearly unusable. I would add a habit, and the keyboard covered up the description field. There was no way for me to scroll the page to get the description field. Fortunately, the iOS keyboard has a next field button which I could click and hello me to entered the habit description.

I too like the clean design and wish you good luck.

  • pixd 3 months ago

    The scroll and zoom issues on ios should now be fixed

apantel 3 months ago

This seems quite broken on iPhone (iPhone 12, iOS 17, Safari browser). Trying to add a task ends up blowing the model up too big and it’s impossible to scroll to or even see the button to add the task.

elflaune 3 months ago

I just want to put out Loop Habit Tracker ( https://github.com/iSoron/uhabits ). Its open source, ad free and has the option to start the day at 3 am. I am very happy with this solution.

  • user_7832 3 months ago

    Loop is an all time classic. Just wish it supported other platforms too.

skkap 3 months ago

Nice work on this habit tracker! Love the clean design and the GitHub-like year widget. It's awesome that it works without registration!

I am also building a habit tracker ( https://mygoodweek.com ). Similar story, none of the existing options were satisfactory~ It tracks habits automatically from Google Calendar events and lets you check habits manually too. It would be cool to get your thoughts!

  • kmarc 3 months ago

    This looks like a product a lot of effort and thought went into, including a consistent graphical design. Congrats!

    The style that was chosen, to me is deeply unsettling. These Well-lit, colourful, rounded, smooth 3D objects remind me of a chaotic, visually complex and triggering while trying-to-be-baby-safe environment, and indeed puts me into thinking the exact opposite of what I'd want to achieve with this product (which is eliminating chaos, and get my adult daily life sorted out).

    Note that this is rather a weird angle and not a criticism of your product. I'm pretty sure it's only me, or at most a handful of people who are triggered into this state of mind. I found it interesting.

    • ziggyzecat 3 months ago

      I didn't even try to dive into why I left the page within 20 seconds.

      > visually complex and triggering while trying-to-be-baby-safe environment resonates perfectly, though.

      On a side note: sorting adult daily lives out needs to embrace and make space for the inner child. I observe it everywhere at the moment: parents, old friends, even in my younger brother and myself. An unhealthy kind of stress, burnout and depression build up if you don't.

      • kmarc 3 months ago

        No science here, but...

        Isn't it munching on ice cream at 10pm, video games, and other indulges are for that? Also at work, I am (thankfully) able to tinker a lot while delivering value, and not under constant pressure to just grind, in a dry, too serious environment.

        I think I do embrace (quite often) the inner child in me, but I definitely separate the "productivity" of my life from that: things that need the diligence, I do take seriously, and maybe this is what gives me this dissonant feeling when I look at this design language in the context of making me more productive.

    • skkap 3 months ago

      That is very interesting feedback, thank you! You might not be alone though, from time to time we get similar feedback, and in fact, we are currently rethinking branding to make it more calm and positive.

  • pixd 3 months ago

    This is really cool. I definitely like the expansive stat tracking. The weekly report is a really nice touch. gives you a chance to reflect on your progress.

    I don't use Google Calendar often, so it took me a while to get the tracking part to work, but it worked flawlessly once I understood about the event naming

  • lobsterthief 3 months ago

    Looks slick, but I’d love to be able to see a demo (or more screenshots) before signing up.

8organicbits 3 months ago

I'm always up late and I'd like to get a last minute habit checked off before I go to bed, but so many tools move to the next day at midnight. I ended up building my own minimal chore tracker[1] because I couldn't find any that aligned to that schedule. I really think everyone has slightly different needs and chore/habit trackers make a great minimal programming+design project.

[1] https://alexsci.com/blog/personal-apps/

  • georgebcrawford 3 months ago

    Hi there, I thoroughly enjoyed reading your blog post - especially the part about single-purpose software. It's a recurring tension in my digital/physical existence.

yunusefendi52 3 months ago

Looks good. How do you "done" past days? Sometimes I don't actually miss the habit but not have the time to open screen.

I also created similar habit tracker app for mobile https://play.google.com/store/apps/details?id=com.yedev.habi... The unique thing is that I use google drive to sync habits

  • pixd 3 months ago

    I like the design, very clean.

    For the past days, if you click the 3 dots next to the checkbox, there's an option to add checks for previous days using the calendar

superultra 3 months ago

This is really cool.

I don’t think I have diagnosable ADHD, but I have noticed that gamification features like “streaks” often cause more problems in building habits than helping them. My daughter, who is diagnosed with severe ADHD, eventually had to “give up” some of the streak based apps like Duolingo because they are, imho, preying on our desire to complete “streaks” only to increase in-app activity for their own platform.

I’ve been really loving Llamalife - https://llamalife.co - they don’t do habits but they organize a lot of the schema around people who get overwhelmed easily.

  • thih9 3 months ago

    After reading this comment I installed llamalife and immediately abandoned it when it asked me to sign up and accept T&Cs as the first thing after opening. There was no support for sign in with apple either.

    I love that the app from this HN submission is usable without creating an account.

  • pixd 3 months ago

    Oh interesting, that's why I added the "freeze" feature to help avoid feeling "required" to go on the app every day. But maybe it requires some more customization to account for wider cases

codazoda 3 months ago

I've been working on a minimalist daily habit tracker that I designed for counting calories as part of my own weight loss journey. It's called Quick Calories. The PWA is free, it doesn't require an account, has no advertising, and works offline.

Link: [https://calories.joeldare.com]

podviaznikov 3 months ago

love the UI.

I made habit tracker visualizer based on Apple Reminders

https://public.me/anton/daily

  • teitoklien 3 months ago

    you need to focus on how you'll stop eating pastries man, I'll hope you succeed soon, based on that tracker list

    Good luck !

    Regards,

    Pastry Hater

    • podviaznikov 3 months ago

      thank you:) not so easy with pastries