Happy Monday, everyone!

We made it to the 40th issue! Thank you to everyone who read last week’s issue ❤️

📆 Today I’m featuring Majid Jabrayilov.

Majid is the creator of CardioBot, NapBot, and Swift with Majid. CardioBot allows you to easily understand the data captured by the Apple Watch so you can improve your lifestyle and discover notable patterns. NapBot is a machine learning powered sleep tracker for your Apple Watch and iPhone. Swift with Majid is Majid’s blog that is focused on Swift and SwiftUI.

There is so much for me to unpack here. I first want to say I’ve been a big fan of Majid’s for a while now and it’s an honor to have him as this week’s indie developer 😊 I first discovered Majid from his blog while working on my own apps. I’ve created a handful of SwiftUI apps and I don’t think they would have turned out nearly as good if it wasn’t for Majid. So many of my Google results led me to his articles. His writing and teaching style makes for one of my favorite blogs. It’s the perfect mix of examples and explaination. If there is something I’m looking for, Swift with Majid is one of the first places I go!

Majid’s blog was inspired by his learnings while making and maintaining CardioBot and NapBot (as you’ll learn about later). CardioBot and NapBot are essentials if you want to understand and improve your healthy lifestyle by taking data from your Apple Watch. CardioBot displays different data around heart rate, blood oxygen, and workouts. NapBot analyzes your sleep data and environmental sound from Apple Watch and uses machine learning to display a detailed sleep analysis. With both of these apps you can see historical trends and try to pin point why you might not be living as healthy of a lifestyle as you are trying to.

CardioBot and NapBot both have helped me realize there are things I can improve. I highly recommened downloading CardioBot and NapBot if you are care about your health and following Swift with Majid if you are interested in learning about Swift and SwiftUI 😉

👉 Please make sure to follow them or support them anyway you can! 😇 I’m excited to share their indie dev stories.

Indie Devs

Majid Jabrayilov

Baku, Azerbaijan

Full-time indie working on CardioBot, NapBot, and Swift with Majid

Majid Jabrayilov


1) What is your name? Where do you live?

My name is Majid. I’m from Baku, Azerbaijan.

2) Introduce yourself. Education? Background? Main job? Interests outside of tech? Interests inside of tech?

I’m an indie iOS developer. I have a master’s degree in Computer Science. I left my job 1,5 years ago to become a full-time indie. I’m very interested in machine learning and data analysis. Outside of tech, I enjoy reading about mental health and tripping worldwide to learn more about different cultures.

3) Have you ever considered yourself an indie developer?


4) What got you started/interested in creating your own applications outside of your “normal” job?

From the very first step, I have been working on my own projects. I released my first app ten years ago. It was a to-do list manager app.

5) How do you balance your time between friends/family, work, hobbies, and indie dev?

I can work on the project for 24 hours when inspiration finds me. It is tough to balance the time between all the projects I have and the family. But I try to do my best to spend more time with family and friends during weekends

6) Swift with Majid - I first just wanted to say thanks for all of the articles you publish on https://swiftwithmajid.com ❤ A bunch of your articles have been super helpful in some of my recent SwiftUI apps 😁 When did you start the blog and what were your goals? Where do you get all the ideas for you articles?

I wrote the first post in 2018 but started to write on a weekly basis in 2019. My projects like CardioBot and NapBot inspired all my writings. The main goal for me is to document the things I learned. I find myself very often reading my own posts to revise something. That’s why I decided to share them with the community.

7) CardioBot - One of my favorite things out of all my favorite things about CardioBot is how native it feels. It feels part of iOS and like it should be part of the Health app 😁 Was this planned? What kind of work went into making it feel so right? 🙃

I believe that mobile apps should use platform-oriented user experience and user interfaces. I think an app should be the continuation of the OS. That’s why I try to make my apps look native as much as I can. It means to provide the same UX and UI as iOS provides to my users.

8) CardioBot - What inspired you to start creating CardioBot and how long had it been around? Is this data that you felt like the iOS’s health and fitness apps should have already been showing?

Apple Health app provides you raw heart data without any interpretation, which doesn’t make any sense to me. I was an active smoker five years ago. I wanted to quit smoking, but I need the right motivation. That is why I built CardioBot to visualize my heart rate decrease during this period of my life. And it works. I quit smoking, and my heart rate improved. Nowadays, CardioBot provides you many things like AHA recommendations and activity tracking with cardiovascular health in mind.

I build the SwiftUICharts library that powers charts in CardioBot and NapBot. It is open-source, and you can find it in my Github profile. I’m working on the blood pressure monitoring feature now and hope to see a BP sensor in the next generation of the Apple Watch.

10) NapBot and CardioBot - I’ve learned a lot about my health from CardioBot but I need to say that NapBot is probably my personal favorite ☺️ The reason being is sleep has become this highly valuable resourced since my first child was born in December of last year 😉 How does the sleep data compare to the heart rate data? Is one easier to work with than other or does one have cleaner data?

NapBot uses machine learning to detect your sleep intervals automatically. Three years ago, I started my work on a sleep classifier that uses heart rate and motion data to recognize sleep patterns. Thanks to Apple, we have the TuriCreate framework that allows us to build ML models without deep knowledge of Data Science.

11) NapBot and CardioBot - One of my favorite parts about being a developer is that apps I like to make are ones that I can use to improve my life. I know how NapBot and CardioBot have helped me look at my life but I’m curious how NapBot and CardioBot have improved your life? Have you learned anything really cool from not only being a user but being deep in the code and data while making these apps?

As I said before, I started working on CardioBot to quit smoking and understand how bad is it for my heart using charts that CardioBot provides me. NapBot helped me a lot in learning ML, SwiftUI, and most importantly, it helped me control the sleep quality by decreasing environmental sounds in my room.

12) Swift with Majid, CardioBot, and NapBot - What’s next?! Do you have any new fun things planned that you can share with us? 😊

Health is the main topic for me at the moment. I want to continue building health-oriented apps to help people. I hope to see new Apple Watch sensors, which I can utilize in my apps in the future.

13) What’s been the hardest part of being an indie dev? What the most fun part of being an indie dev?

The essential part for me is the opportunity to work on the ideas I enjoy. The hardest part of being indie is to make revenue that allows you to survive.

14) Is there anything else you’d like to tell the indie dev community about you? (there is probably more i could have poked at but I’m still learning over here 😇)

Side projects are great for learning new technologies, and it is an excellent opportunity to make additional revenue. I highly encourage you to try to build something outside of your work, something that you can enjoy and play.

15) Do you have any other indie devs that readers should follow / lookout for?

Thank you to everybody who made it to this footer! You either spent the time to read or took the effort to scroll 😊

Make sure to visit https://indiedevmonday.com/subscribe to get an email of future issues!

And go to Twitter and give @IndieDevMonday a follow… or multiple follows if you manage more than one Twitter account 😜