Issue #22: Pi-hole Remote by Joost van den Akker
Today, we're looking at Pi-hole Remote by Joost van den Akker.
The Pi-hole is a DNS sinkhole that protects your devices from unwanted content without the need for any client-side software. In simple terms, it works as an advertisement and tracking blocker across all of the devices connected to your network. So, if you're sick of adverts cluttering your screens, using your bandwidth, and tracking your behavior, the Pi-hole is the all-in-one solution you've been looking for.
Pi-hole Remote lets you quickly enable/disable your Pi-hole as well as add domains to your whitelist/blacklist. You can also easily view queries made on your network in real-time and view advanced statistics about your Internet usage (i.e. top domains, top clients, and cache size).
Pi-hole Remote makes it very easy to see what domains are most queried on your network and you can easily query your logs by domain, client, or type.
We're still just scratching the surface here.
You can also use Siri Shortcuts to disable locking with your voice, sync whitelists and blacklists between different Pi-hole instances, manage your local DNS and CNAME records right from the app, and much much more.
If you liked Pi-hole Remote, make sure to follow Joost on ProductHunt or Twitter to stay on top of updates and new features!
Each morning, The Sample sends you one article from a random blog or newsletter that matches up with your interests. When you get one you like, you can subscribe to the writer with just a click.
Can you tell us a little bit about yourselves?
Hi! I'm Joost van den Akker, 25 years old, and I live near 's-Hertogenbosch in The Netherlands 🇳🇱.
I really enjoy traveling (Japan is opening up again 👀), good food, Lego, everything space, and obviously, I'm interested in a lot of things tech. My background is in Information Sciences and I'm currently part indie iOS dev and part Test Engineer at Schiphol Airport.
What I love most about building apps is that feeling of "building something and getting it in the hands of people" - it's a feeling that's hard to explain. Doing this as an indie developer provides so much variation: from designing to developing to testing to promoting and staying in touch with my users. It's all so much fun.
I'm building more apps as we speak (in between other freelance projects) to try and grow my indie dev business into a full-time endeavor!
How did you come up with the idea?
I came across Pi-hole and installed it on my Raspberry Pi a few years ago and I just thought it was so cool. For people who don't know: Pi-hole provides "network-wide ad blocking" by blocking the DNS of entire domains and works on every device on your network.
However, a few days after setting it up, I noticed that some websites were not working, so I wanted to whitelist some domains or disable blocking for a short while. While Pi-hole provides a web interface, it's a bit clunky to use on your phone. I looked around on the App Store, but all of the existing apps were very limited in what they could do (and not very pretty).
After looking into what Pi-hole had in terms of an API, I found that there were more possibilities than what the existing apps were providing. At the same time, SwiftUI was released and I really wanted to try it out. I had been tinkering with building apps for a while, but never really built anything that was useful for anyone but myself. So, I had a clear problem I wanted to solve and was eager to try out SwiftUI. And, as you know, 1+1=2, so Pi-hole Remote was born 😊.
You often hear people say "just start making something you would use yourself and just get it out there" and while it sounds very cliche, I feel like it's true. The simple act of releasing my apps on the App Store really opened up a whole new world for me. Suddenly, I had "real users" with "real opinions and feedback" and this really motivated me to continue improving the app and building new ones.
💡 Want to see your app featured?
Submit your app or reach out on Twitter 🐦
How did you market the app as an indie developer?
I think for Pi-hole Remote I'm lucky that my audience is already of the "nerdy type". People that install a Pi-hole at home tend to be pretty tech-savvy and more likely to look for an app.
I market the app as the "best app to manage your Pi-hole" with a clean iOS-like design and tons of native features like widgets, an Apple Watch app, and Live Activities.
My first real big spike of downloads came via a Reddit post on the r/pihole subreddit and after that a post on the r/apple subreddit. It was basically the easiest form of marketing and it paid off. The app used to be free for the first year, which really made it get some traction because a lot of people tried it. I was updating the app with new features almost every week at the start and I feel like that gave it a major boost as well.
People were enjoying my app and when they had ideas about possible features, I was able to implement them almost immediately. I feel like this really improved my connection with my users. I'd rather have 10 very happy users than 100 "the app is ok" users.
With the frequent updates, I could post on Reddit every few months with a post about new app features and I also made a Twitter account to post about every update. I also post updates over at IndieDevMonday and on a Pi-hole Facebook group. It's a bit of everything.
I feel like I get a lot of organic growth nowadays. I hope to improve my marketing skills in the future with apps that are interesting for a larger group of users such as my anime/manga tracker app ManGo.
What’s your app design and development workflow like?
Most of the time, I'll start thinking about a feature in my head and then will start building out the UI with SwiftUI. I feel like this way I get design inspiration "on the go" while working on it.
However, sometimes it's the other way around. I try to follow a lot of indie devs/designers on Twitter (shoutout to @jordibruin, @hiddevdploeg, @aheze0, @rafahari, and others), and when I see them building something cool, I'll often get some sudden ideas myself!
Most of the time, ideation is really a process that happens because of my users. I collect feedback in my apps (via mail) and through Twitter, Reddit, etc. I'll collect these requests and ideas in Linear and will try to prioritize them a bit. It's still difficult to divide my attention across all of my apps, so I'll often just work on the features and apps that I feel like working on.
After building features, I'll release them to my TestFlight testers and often ask for feedback on Twitter. It's been really enjoyable co-creating with my users. Then, as soon as a feature is nearly complete, I'll upload the translation resources to my open GitHub repository for people to translate, and after about a week, I'll release it.
Any advice on monetizing your app and improving conversions?
As mentioned before, Pi-hole Remote was free for the first year or so. After a few updates, I added a 'Tip Jar" that was used much more often than I expected. I think the target audience of the app is more likely to leave tips compared to "regular" people, so I was lucky on that front.
After the app got more features, I felt like I could make the app paid since most of the other competing apps were also paid. I ran polls on Twitter to get a sense of what my users thought I should do (paid/ pro version/subscription) and what a fair price was. Obviously, this change cut the downloads by a lot, but now I could start working on growing my apps financially.
My tips here would be: think about internationalization and take your time to make pretty screenshots. The app is translated into 10+ languages and I feel like it really makes a difference for some countries like Germany & China - more potential users equal more potential customers.
I also neglected my screenshots for the first year even though they are one of the most important parts of your App Store listing. It's basically your "store display window", so make good use of it! Showcase your most important features and USPs, but be clear and concise.
Any advice for other indie devs on getting more ratings and increasing their app's visibility?
You might have heard this before but it's a must to use SKStoreReviewController.requestReview()
- it's the native popup window asking for an app rating/review and without it, you won't get many ratings.
I'll often ask for ratings and reviews on Twitter, app update descriptions, and in any customer support emails. Whenever you have direct contact with your users, you might want to consider including some kind of rating/review URL.
Also, I think paid apps have a higher chance to get into the "Top Paid" charts since a few downloads in a country can already get it in there; the inner workings of the App Store are strange!
What's your favorite tool in your development workflow?
A big shoutout to fastlane! I use it to automate my TestFlight releases and it's essential to my workflow. With one command, I can increase the build number and submit a new build to my testers - a critical step in getting feedback.
My runner-up is the issue-tracking tool Linear which helps me organize my work.
A quick welcome to the ✨ 4 new people ✨ joining us this week - feel free to reply to this email and say 👋.
If you're enjoying the newsletter, please consider sharing it! Have some feedback you want to share? Drop me a message 📧
If you missed last week's issue, you can read it here:
If you have an interview coming up, check out my book Ace the iOS Interview!
Subscribe or follow me on Twitter for updates!