Happy Monday, everyone!

We made it to Issue #117! Thank you to everyone who read last week’s issue ❤️

Author
Chris Wu - @museumshuffle

Today’s Spotlighted Indie Devs

📆 Today I’m featuring Kai Dombrowski.

Kai is the creator of Mercury Weather and Orbit. Kai is an iOS Developer that runs Triple Glazed Studios with his partner Malin Sundberg. Their apps are Mercury Weather and Orbit. Kai and Malin are two of the hosts of the Cup of Tech podcast. Kai and Malin also host the Core Coffee meetup. I had attended some of their virtual events previously and completely by chance I sat right next to them at lunch at WWDC 2022. I ended up spending a good deal of the day with them. Believe me when I tell you that they are an absolute delight.

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

Indie Dev

Kai Dombrowski

Vancouver, British Columbia

iOS Developer, podcast host, meetup host, and coffee enthusiast


Kai Dombrowski

Q&A

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

I’m Kai Dombrowski, and I live in Vancouver, BC.

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

Hi, I’m Kai. I’m an indie developer, and I run a small dev studio with Malin (from Indie Dev Monday Issue 6 fame). These days, we’re trying to split our time 50/50 between our own projects and interesting client projects. As for our projects, we’re currently working on Mercury Weather, a weather app, and Orbit, a time-tracking and invoicing app.

Technically I have a Bachelor of Science in Computer Science from a university in Australia (I lived in Australia for about five years before moving to Vancouver). Most of the things I use day-to-day have been self-taught, though. The degree is pretty helpful for non-job things. Moving to new countries is a lot easier once you have a degree. Most countries’ immigration systems value degrees a lot more than tech companies! 😅 My background is a bit all over the place. In high school, I had a bunch of different freelance jobs in the TV & advertisement industries in Germany. I got into that as I was trying to find a way to scrape enough money together to buy the 1st gen iPhone… Nerds, huh? 😛 After high school, I moved to Sweden and started a small iPhone repair business. After some time, that turned into a company manufacturing LED lights… (It’s a long story 😅)

Outside of tech, I enjoy going for hikes in the mountains (Vancouver is perfect for that), playing beach volleyball and beach Ultimate, and making snobby coffee.

3) Have you ever considered yourself an indie developer?

I think so. Since I started with iOS development in 2014, I have been working on at least one of my own projects. I always like to work on multiple things at the same time. So, splitting my time between helping others build their apps and working on my own suits me incredibly well.

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

That one is easy! I’ve never really had any “normal” jobs 😅. I was always drawn towards working on my own things, and working (sometimes exclusively) in a “normal” job wasn’t even something that really crossed my mind. I have had some long-term freelance contracts, but I kept working on my projects simultaneously.

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

That one is also easy! I’m working with my partner, Malin. Most of our friends are also into tech. Our primary hobby is working on projects together, and everything else we’re squeezing in between. So depending on your perspective, I’m either excellent at balancing all the things or completely terrible 😂

6) Mercury - Look, I have to ask this. Apple redesigned their weather app in iOS 15 and also the iPad will finally get an update with iPadOS 16. There are also numerous other weather apps already available. What made you and Malin decide to work on a full-on weather app instead of an app that showed some weather data on the side? What did you think you could provide with a weather app that was different and do you feel that you met those goals?

Haha, fair point. Malin and I have always been a little bit more weather app obsessed than normal (I just counted, I have 16 weather apps installed on my phone). We initially considered building a weather app in 2018 already. At that point, we used Pocket Weather AU and Weather Line, but Pocket Weather was about to shut down. We chatted a bunch about the idea that year at WWDC but ultimately discarded the idea as moving from Australia to Vancouver kept us plenty busy that summer. Then it happened again. Sometime in early 2021, Weather Line was acquired, and they had to shut down their servers in early 2022. So we were stranded without a favourite weather app again. So we figured the only way to guarantee that our next favourite weather app will stick around this time is to build it ourselves. So we decided that unless there is a very good reason for us not to build a weather app (like Apple releasing an AR headset that we’d want to play with app ideas for), we’d start building our own favourite weather app over the summer. And Apple’s announcements at WWDC were a perfect fit for what we had in mind. We could use Swift Charts to build a lot of the visualizations in the app, like the expected rain forecast and nice simplified Meteograms that make it super easy to get an idea of the forecast at a glance (something that we liked a lot in Weather Line and Pocket Weather), and could use WeatherKit to get weather forecasts. And, of course, build a bunch of things we always wanted a weather app to have. Like the dynamic themes with vibrant colours that give you an immediate idea of the current weather conditions before even looking at any of the numbers or charts, dynamically showing and hiding conditions to only show relevant weather information and to show neat aggregated data like monthly averages. We also really wanted to add next-hour rain predictions in Europe and Australia. It’s not as common a feature there as it is here, but it’s something I think is super cool.

I think we’ve met our goals so far. Mercury is now our favourite weather app, and it’s not shutting down, so I guess that’s 2 for 2 😛

7) Mercury - My favorite feature is being able to quickly glance at average monthly rainfall. It helped save my sanity as I was completely over a particularly active rainy season. What feature is your favorite?

That’s a great way to use it! Every time Malin and I consider moving to a new country (which we’ve done a few times now), we usually have a bunch of tabs open with climate data to help us choose which city to live in. It’s fun that we could use Mercury for that next time. It’s also an excellent feature for vacation planning 😊

My favourite feature is probably the combination of two things. We added a bunch of bright, dynamic themes to Mercury that would switch automatically based on the weather conditions and the day/night cycle of the location you’re looking at. We’re using the same themes to style the city entries in the locations list. Those two together make it super easy to quickly get an overview of the weather for all the places I care about.

8) Mercury - I’ve been so happy for you and Malin concerning how much attention Mercury has received. I remember you saying that you hit your API usage numbers way sooner than expected. You also have acquired positive coverage from some big names, such as Daring Fireball. How has that been?

Thank you! It’s been super exciting. On any given day, there is probably a 25% chance of one of us rocking a Daring Fireball t-shirt, so seeing our app mentioned on Daring Fireball was definitely one of our biggest indie career highlights.

9) Mercury - I overheard you say that because you used SwiftUI that really helped when it was time to work on the iPad version. Could you elaborate on that?

In general, I really like working with SwiftUI. It was quite a painful learning curve when we started building new apps in SwiftUI in 2019, but with the framework (and our skills) improving over the last few years, I wouldn’t want to go back to UIKit. In general, our approach to building apps has changed a lot as a result. In UIKit, we’d usually build apps “outside-in”. We started with the overall structure & navigational flows and then worked our way through the view hierarchies. With SwiftUI, we landed on primarily working “inside-out”. We’d have a rough idea of how we want all pieces to fit together, but then start designing and building the “leaf” views as smaller components first. Then slot these into a view hierarchy as we’re making progress. That usually means by the time we have a usable app, we have a few dozens of nicely reusable view components that we can then re-arrange for the iPad and macOS apps. That way, we usually don’t start at 0 when building for a new platform but maybe start at 70% done. We’ll see how that will pan out for the Mercury iPadOS and macOS apps (we’re still working on those at the moment), but it already worked out pretty nicely for the Mercury watchOS app. We got to what we have at the moment (more to come soon) in a day or so.

10) Orbit - It’s been over two years since Malin was interviewed. Any updates to Orbit that you’re particularly proud of or want people to know about?

It’s been two years already?! We’ve added a lot to Orbit since. My favourite new features are probably the daily charts that make it super easy to see exactly how you’ve spent your time during the day. We’ve also since added iOS, iPadOS and watchOS apps, and they’re all pretty neat! Oh, and Orbit is now on all display Macs in all Apple Stores worldwide. I’m not sure if proud is the right word, but it’s incredibly cool to walk into an Apple Store in a new city and see your app running on the Macs there 😊

11) Core Coffee - You and Malin host such a fun get together. What made you two start it? Was there a virtual component before Covid?

Thank you! It’s super fun, and because we’re not organizing talks, it’s pretty easy to put together. Malin and I have always been involved in the local developer communities where we’ve lived. Before we moved to Vancouver, Malin co-organized the monthly CocoaHeads meetup in Sydney. When we arrived in Vancouver, we found there were a few cool meetups, but none of them happened very frequently. It also seemed like there were a bunch of people here excited about iOS & macOS development, but a lot of them didn’t know each other. So we thought we’d just set something up ourselves. A casual catch-up with developers. Hosted twice a month in different coffee shops around Vancouver. It seemed like a good idea, and if no one showed up, it would just be Malin and me getting coffee together (which wouldn’t be too bad, either). But we ended up being around 15 people at the first meetup, and we kept it going with the same format until March 2020. I just had a look. We cancelled one in-person event in March and then switched to virtual meetups in late March.

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

That answer definitely shifts over time. In the early days, one of the most stressful parts was definitely the uncertainty about income and, of course, the complete lack of income before release.

For Orbit, we went all-in, which added a lot of stress to our lives.

There are so many fun parts! I love working with Malin, it’s always fun when we’re talking about something unrelated, and then one of us has a great idea for a feature (or a fun easter egg) to add to our apps. It’s also super satisfying to hear from people who enjoy using your apps or point out some little niche features they like (that we thought no one would notice). It’s also fun to chat with other Indies in similar situations and share ideas, little marketing tricks that worked out (or didn’t), and generally chat about how everyone is approaching things. And projects like this. I’m not sure if there is an “Enterprise Dev Monday” newsletter, but I bet the indie dev one is more fun! 😛

Oh, and of course, the flexibility is great. We do work a lot, but every now and then, we can just decide to drop everything and go for an impromptu all-day hike.

13) Is there anything else you’d like to tell the indie dev community about you?

I think you covered everything pretty nicely! I think this is more than enough about me 😛 One thing I find particularly exciting about the Indie Dev Monday newsletters is seeing how everyone approaches indie dev so differently. Some people go all-in, and some approach it more carefully, but things often work out in the end. And it’s great to see so many people working on something they genuinely care about!

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

Absolutely! It’s hard to pick only a few, but my “who to follow indie-dev starter kit” would consist of Christian Selig (@ChristianSelig), Chris Vasselli (@chrisvasselli), Curtis Herbert (@parrots), Jordi Bruin (@jordibruin), Quentin Zervaas (@qzervaas), Till Konitzer (@knutknatter), and Vidit Bhargava (@viditb). All of them are super interesting people, have a very unique way of approaching indie development, and are genuinely trying to help other people on their paths. Also, Christian is one of the funniest people on Twitter!

Oh, Malin (@malinsundberg) is pretty cool too!


Newly Released and Updated Indie Apps

Here are some newly released and newly updated apps from this past week! If you would like to possibly see your app in this list, please submit your app to the look at me form 👀

Workout Shoes Newly Released
Counts total mileage your sports shoes have accumulated during your workouts
Superlayer Newly Released
Superlayer is a unique way to create terrific widgets for the Mac. Place them everywhere on your screen. Customize fonts, colors, layouts—everything. Create superb hover effects. Control things through hotkeys. Automate with URL schemes. Get Super!

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 😜