My Habits and Streaks
My journey through habit tracking and maintaining streaks — the wins, the setbacks, and the lessons learned.
Introduction
I've been tracking habits for years, and over time I've built streaks I'm proud of. In this article, I'll share my experiences with the habits I track daily, why I keep them, the challenges I've faced, and the lessons I've learned along the way.
Habit tracking isn't just about ticking boxes — it's about knowing why you want to build a habit in the first place. What's the real reason behind it? What benefit are you hoping to get? When you understand the purpose, you're far more likely to stick with it.
Here are my five most consistent habits — what keeps them alive, what sometimes breaks them, and what I've learned from sticking with them over time.
Duolingo
Why I do it
I love learning languages because it opens doors to other cultures. Speaking someone's native language instantly builds connection and respect. I've found that even a simple greeting in someone's mother tongue can make their day.
Longest streak loss
I have never lost my Duolingo streak — ever! Nearly ten years of daily practice have turned this into a non-negotiable part of my day. I joke that if my Duolingo streak ends, you should probably check if I'm still alive.
What I have learned
- Focus on consistency, not duration. Spending just 5-10 minutes a day is enough to learn a language. The key is to show up every day, even if it's just for a few minutes. When it comes to language learning, showing up is more important than the amount of time spent.
- Don't go too fast during the lessons, after each word or phrase, repeat the foreign concept, then repeat the translation in your native language, and finally repeat the foreign concept again. For example, if you are an English speaker learning Spanish, you might say out loud:
- House
- Casa
- House
- Set yourself up for success. I have started to suspect that when it comes to learning a new language, it's always better to be less prone to make mistakes. This might go against the common belief of "We learn from our mistakes", but I have found that the phrases and words I remember most come from moments when I had that "Yes, I got it!" moment. Set yourself up for success by doing the easy lessons, re-doing old lessons and repeating the same words and phrases happily without the guilt of "I should be trying harder", you will get to the harder lessons naturally over time.
Github
Why I do it
To push myself to contribute to open-source community and also to push myself to finally finish my personal projects instead of letting them rot in a "someday" folder.
Longest streak loss
Technically, I haven't lost my streak yet — though it may look like it since Github doesn't count contributions to branches that are not the main branch. When these branches are merged, the empty spots in my contribution graph should be filled in.
What I have learned
- This may sound like cheating, but if one day you don't feel like coding, just go to one of your projects and improve the documentation, or improve a really small piece of code, refactor that oddly-named variable, or something similar, every contribution counts, and it is better than not contributing at all. Consistency is more important than quantity.
Related: Read my DeepStash summary of the wonderful book "Atomic Habits" by James Clear. - Consider contributing with a small library that has potential to be used by many people. You would be surprised how many people use small libraries that solve a specific problem. A few notable examples are:
- kebab-case: Converts a string to kebab-case.
- slugify: Converts a string to a URL-friendly slug.
- is-odd: Checks if a number is odd.
- has-flag: Checks if a command line argument is present.
Knowt
Why I do it
I have been using Knowt for a while now, and I find it to be a great tool to continuously learn new things and keep my mind sharp. I mostly use it to prepare for online certifications, but I also use it to learn new things in general. For example, I have been using it to learn facts about each country in the world, and I find it to be a great ice breaker when meeting new people.
Longest streak loss
I have lost my Knowt streak a few times, mainly due to the fact that I am not always enrolled in a course or certification that requires me to study. Due to this, to avoid losing my streak, I have started to learn cultural facts about each country in the world, when I am not enrolled in a course or certification, I am very likely studying a new country.
What I have learned
- There is no better way to learn than spaced repetition. I have found that using spaced repetition to learn new things is a great way to retain information and keep my mind sharp. Use Knowt or any other spaced repetition tool to study for certifications.
- Learn some random facts about each country in the world. There is nothing that makes a person happier than when you show interest in their culture and country. For me, this has proven to be a great ice breaker when meeting new people.
- Don't try to study too many cards at once. I have found that trying to study more than 7 cards (the default number of cards in a Knowt study session) at once can be overwhelming and lead to burnout. Instead, focus on consistency rather than quantity.
- You might want to try the paid version of Knowt too, or similar paid apps like Quizlet. These apps have a lot of features that can help you study more effectively in their paid versions.
LeetCode
Why I do it
LeetCode is a great platform to practice coding problems and improve your problem-solving skills. I use it to prepare for technical interviews and to keep my coding skills sharp.
Longest streak loss
I lost my streak after a trip to my home country, while I was at the airport I didn't feel like coding, and when I arrived at my destination, I was too tired to code. Funnily enough, the LeetCode phone app is nearly unusable, it just doesn't work well on mobile devices and the act of coding itself is not meant to be done on a phone to begin with.
What I have learned
- Solve the same problem multiple times. I cannot stress enough how important this is, do that damn problem again and again until you know it by heart! If you think you have solved a problem, try to solve it again after a few days or weeks. You will be surprised at how much you have forgotten.
- Solve the Tech Interview Handbook's Grind 75 list to guide your practice. This list is a curated list of 75 problems that are considered to be the most important ones to solve before a technical interview. If you know these by heart, you will be able to pass most technical interviews. This list is also available in LeetCode's official Grind 75 list, but I find the Tech Interview Handbook page far more approachable and customizable.
- Stop LeetCoding as soon as you get frustrated. If you find yourself stuck on a problem for too long, solve again a problem you already know how to solve, or take a break. The goal should be to keep the streak alive, not to solve a new problem every day.
- Unless you are a pro, stay away from trying to solve problems in the "Hard" category first. You will get frustrated and you will be more likely to give up. Most of the hard problems are variations from medium and easy concepts, so focus on mastering these first.
- Don't stop LeetCoding after you get a job. Keep practicing and solving problems to keep your skills sharp and to be prepared for future challenges.
OpenStreetMap
Why I do it
I have been using OpenStreetMap through the fantastic StreetComplete app, which allows me to contribute to the mapping of the world by answering simple questions through the phone. I find it to be a great way to contribute to the mapping community while also discovering new interesting places in my city.
Longest streak loss
I have lost my streak a few times, mainly because I sometimes don't have time to go out and map. This is one of the habits that I find the hardest to keep as it depends on external factors like the weather and my schedule.
What I have learned
- Start mapping easy things like roads, stairs and accessibility features. These are the most important things to map, and they are also the easiest to contribute. Once you have mapped these, you can move on to more complex things like buildings and opening/closing hours.
- If you feel like taking your mapping to the next level, you can also consider contributing directly through the OpenStreetMap website where you can edit buildings, road shapes and more. This is a great way to add new features that don't exist in the StreetComplete app.
- There's something oddly satisfying about cycling through the city, mapping streets and details others overlook — in another life, I think I would have been a cartographer.
Closing Thoughts
Being able to define new habits and maintaining streaks gives us a completely different level of achievement and motivation. As Stephen Covey said, "We are what we repeatedly do. Excellence, then, is not an act, but a habit." By tracking our habits and streaks, we can create a positive feedback loop that reinforces our desired behaviors and helps us achieve our goals.
I hope this article has inspired you to start a new habit or to continue tracking your existing habits. Remember, the key is to start small, be consistent, and celebrate your progress along the way. See you next time with another article, it's time for me to go out and map while biking around the city.