Happy Monday, everyone!

I first want to give a special birthday shoutout to my wife! She has supported me, Indie Dev Monday, and all of my other crazy things I’ve done over the years. I love every moment I spend with both her and our amazing kids. She is my everything and I have no idea where I would be without her. Happy birthday, love! 🥳🫶

And now… we made it to Issue #139! Thank you to everyone who read last month’s issue ❤️

Today’s issue features Kyle Bashour! Kyle is an amazing indie developer and I was lucky enough to meet in person at Deep Dish Swift last year 🙂 Besides having an incredily awesome app (which you’ll read more about soon), Kyle is also a very giving person. He personally sponsored a Diversity and Student Scholarship ticket to Deep Dish Swift last year. Kyle knows how important and life changing networking and learning can be at a conference and wanted to open up that path for someone else. I’m excited to highlight Kyle’s app, Paku, in this issue but I’m also happy that this issue gets to highlight Kyle and the kind and thoughtful person that he is!

Also.. are you releasing an app on VisionOS soon? Let me know so I can feature it! Fill out ​this form​ before Monday, February 5th!

Today’s Spotlighted Indie Devs

📆 Today I’m featuring Kyle Bashour.

Kyle is the creator of Paku. Paku is the best app for quickly checking air quality. It is fast, lightweight, and uses hyperlocal real-time data from PurpleAir sensors. Paku also provides temperature and humidity along with air quality. There are plenty of gorgeous charts and widgets to easily see air quality on your home screen, lock screen, and watch. Get Paku today to get informed about your local air quality!

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

Indie Dev

Kyle Bashour

@mastodon.social/@kylebshr

Portland, Oregon

iOS developer at Mercury and creator of Paku


Kyle Bashour

Q&A

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

Hey Josh, I’m Kyle! I’m currently living in Portland, but lived in San Francisco for six years before moving here last year.

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

I grew up in an Apple household, and thought it would be the coolest thing ever to work on hardware like the iPhone. I went to college declaring a major in Mechanical Engineering, but it’s a good thing I also took CS102 my first semester. I realized I hated physics - but I loved coding. I switched to a Computer Science major, and taught myself iOS development using Treehouse and Kodeco (raywenderlich.com back then). So I guess I have a pretty traditional tech background.

I got involved in the college hackathon scene with a few friends, which led to an awesome internship at Yik Yak. I had an offer to go full time when I graduated, but my offer was rescinded literally the day before graduation! That sucked, but it was a good introduction to the world of startups, and at least it makes for a good story.

Luckily, Yik Yak was great at helping folks land on their feet, and since then I’ve been fortunate to work at some well known tech companies in the bay area, ranging in size from 35 to over 10,000 employees. I’m currently working on building the best banking possible at Mercury - we’re at about 600 employees, with a very small mobile team, and I’m really enjoying working at a company that size.

Outside of tech, I love cooking, coffee, cycling, hiking, and playing a game of Valorant once in a while. I was pretty into recording and producing music in high school (I have a song on Spotify if you can find it 👀) and I’d love to get back into that at some point.

3) Have you ever considered yourself an indie developer?

I’ve never been a full-time indie developer, so perhaps it’s an oxymoron - but yes, I do consider myself an indie dev, since I work on solo projects that are fully independent. I like to be involved in the community, sharing and learning from other indie devs, and I don’t think you have to quit your day job to be a part of it or call yourself an indie dev. Some of my favorite indie apps and devs are in the same situation!

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

It’s probably a common theme, but almost all of my side projects are apps I wanted to build to use myself. The first one I remember making was one to randomize character & car selection in Mario Kart - my roommates and I had gotten so good at Mario Kart Wii that it was the only way to keep things interesting. I got really into playing Codenames, so I built and released a Codenames app called Cypher (this was before there was an official version - I still like mine better, though it only supports local multiplayer).

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

That’s definitely something I wasn’t always good at. During lockdown, I worked on a few too many projects with my then-roommate Jason Eaglin, and got pretty burnt out. Even though it was a ton of fun, writing code all day at work then all evening at home is a recipe for disaster. Since then, it’s actually been pretty easy not to spend too much time working on coding side projects - I only do it when I have a lot of energy and inspiration, and that comes in short enough spurts that I can balance everything else pretty easily. I think going through that made it easy to recognize when I’m on the verge of coding too much and need to do something else for a while.

6) Paku - This is such a great idea and it’s perfectly executed! When did you first get interested in air quality? What were your initial goals with Paku?

I started paying attention in September 2020, when San Francisco turned completely orange due to wildfire smoke. This is a photo from my apartment - zero filters applied.

Artbox example 1

Everyone started tweeting about https://purpleair.com, and I also stumbled upon the now-defunct https://aqi.wtf, which would load the nearest PurpleAir sensor much faster than the PurpleAir website. Home Screen widgets had just launched on iOS 14, and I thought it was the perfect use-case! I quickly built and shipped the first version within 24 hours. That first version was literally just the widget.

I quickly added a map view, and since then, I’ve added more and more features based on what users ask for. One of the biggest requests was push notifications for changing AQI, which I built using Swift on the server with Vapor. My initial goals were just to have a nice widget for PupleAir. I feel pretty confident saying Paku is now the number one PurpleAir app, which is way more than I expected.

7) Paku - Air quality is something that I’m always forgetting about (you know, since like air is almost always invisible) but Paku has so many ways for me to always keep air quality on my mind with home screen widgets, lock screen widgets, live activities, and a watch app. Have you noticed if any of these types of features helped Paku’s growth or user retention? And have this trophy 🏆 for having such gorgeous widgets and charts! Half the reason I have Paku on my home screen is for the info and the other half is to just make my phone look better!

Wow, thanks for the trophy! I spent a lot of time tweaking those widgets, so I appreciate that.

As far as growth and retention, that’s a good question - I’m pretty sure the biggest reason people use Paku is for the widgets, but that’s been there since day one! I think AQI alerts are probably the other big feature that keeps people around, as it’s the main feature you unlock by purchasing Pro and I’ve been pleasantly surprised at the reception since launching them last year. Live Activities were fun to build, I really wanted to support them, but they get almost no use. I also launched them after the US & Canada wildfires died down this year though. Paku is fairly seasonal, so we’ll see if they get used more this year.

8) Paku - What is Paku’s relationship with PurpleAir? Will Paku only ever work with PurpleAir or do you have plans to integrate with any other types of air quality data sources? Is there any other type of air quality that PurpleAir doesn’t provide that you’d like to show in Paku?

I’ve had the chance to chat with the folks at PurpleAir a few times, and we have a friendly relationship. They’re really great folks who I think were surprised by the wild success of PurpleAir.

I’ve been pretty happy making Paku the best “PurpleAir” app, but I have been thinking about integrating other data sources. PurpleAir is fairly North American-centric, and some users have requested I add support for other data sources. OpenAQ looks pretty interesting, for example. I want to be clear that PurpleAir has been supportive and doesn’t want me to shut down Paku, but what happened with Apollo definitely made me think about it a bit more seriously. It would be a fair amount of work that I don’t feel up for at the moment though, so don’t hold your breath.

9) Paku - What’s been one of the most fun things to build in Paku? What was the most difficult thing?

There’s no single answer to either of those questions! But I think the charts were the most fun things to build. It was one of the first features I built with SwiftUI, and Swift Charts is such a slick framework to work with. I spent a lot of time tweaking the background gradients for the widgets so you can get a sense of the current value at a glance while still providing enough contrast.

Some of the difficult things for me are actually also fun. For example, it can be really difficult doing all the design work when I have no professional design experience or education. I honestly felt like Paku looked pretty amateur until the latest major release, and it’s just very slow at times to figure out what looks good while communicating complex information well. At the same time, it’s fun to flex that muscle and it feels great when it clicks.

Another difficult thing has been doing backend work. Vapor & Swift on Linux make this 10x easier, but I still have to learn how to use Docker, how to safely perform database migrations, and all that jazz. Again, not something I’ve ever done professionally, so there’s a learning curve.

10) Paku - Is there a meaning or story behind the name “Paku”? I tried to dig around for the answer but couldn’t find anything 😊

You need to work on your detective skills Josh! I’ll just say it’s based on the same theme as my LLC name (Pitou Technologies) and another side project code-named called Knuckles that never shipped.

11) Paku - Do you have any future features planned that you can share with us?

At the moment, the biggest feature I want to build is nearby AQI alerts - a feature that will be able to send you notifications for “nearby” AQI automatically, without actually tracking your location constantly. After some iteration I think I’ve got the concept down, but it’s been hard enough to build that I keep putting it off. Essentially, it’ll require you to have a widget that’s displaying nearby sensors (something many users already have set up), and it’ll tell the server which sensor is closest each time the widget refreshes. I’ll determine if the AQI is getting worse or better based on your real-time closest sensor, and send alerts based off of that.

I mostly work on Paku in spurts when I’m highly motivated, to avoid burnout, so we’ll see when that happens. No promises or ETAs.

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

I think the hardest part, especially if I was trying to go full time, would be consistently marketing the app. That feels like another full time job. I used to get a lot of attention by posting on Reddit, but since cutting back my usage and since Apollo died, I’m not active enough to participate in self promotion days.

The most fun part is building something you’re actually interested in and enjoy using. When I started building Paku, I wasn’t getting that at my day job. It’s great having a smaller playground to explore new Apple technologies as well, which can be hard to do in “big company” projects.

It’s also super fun hearing from users that love the app, and hearing the random use-cases that you would never think of. For example, someone recently wrote in and told me they use an indoor PurpleAir sensor while they’re cooking, and the AQI alerts help them act promptly if something is going to start smoking.

Another part that’s super fun is the indie community. Following other indie devs and hearing about their experiments, what worked and what didn’t, and all the cool new features they’re building has been such an inspiration.

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

Your questions have been so great and thorough, so not really!

I’ll leave the readers with a Paku pro tip: if you live somewhere with a dense network of PurpleAir sensors, use the Paku widget for more accurate temperature data than most weather apps! In cities like Portland, or in the Bay Area, the nearest sensor is usually just a couple blocks away. I have mine next to the date on my Lock Screen.

And any readers who want to try out Paku Pro can take 50% off your first year! Just click here to redeem the offer.

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

Some of my favorite devs to follow are mastodon.social/@emcro (helped me out with Live Activities!), iosdev.space/@podomunro, and mastodon.social/@jordanmorgan. I also love following icon designers - mastodon.design/@matthewskiles and https://twitter.com/AdamWhitcroft come to mind (and Adam has been doing a ton of great indie dev too lately!)


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 👀

Second Clock Newly Released
Show a second clock for a different time zone in your Mac menu bar.
Memo Widget Newly Released
Sticky notes on your Home Screen, Lock Screen, and desktop.
Design Package! - gradients, images, spanning items over multiple screenshots Gestures! - Drag, rotate and scale items in screenshots Device Library - Easily see all framed devices and export them in one tap Celebration - A surprise celebration when you export screenshots Bug fixes - 3 critical bug fixes affecting saving files and framing screenshots

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 😜