Issue #15 - Oskar Groth and Damir Stuhec
Happy Monday, everyone!
We made it to the 15th issue! Thank you to everyone who read last week’s issue ❤️
📆 Today I’m featuring Oskar Groth and Damir Stuhec.
👉 Please make sure to follow them or support them anyway you can! 😇 I’m excited to share their indie dev stories.
Full-time indie working on Highlighted
1) What is your name? Where do you live?
Hi, I’m Oskar! I’m a Swedish Mac developer currently residing in Stockholm.
2) Introduce yourself. Education? Background? Main job? Interests outside of tech? Interests inside of tech?
Ever since I got my first iPod, I’ve always been very passionate about Apple platforms and especially the Mac. I built my first Hackintosh when I was 13, and started developing guides and software for modding Mac Pro’s with PC hardware. I went on to get a Masters in Software Engineering, and during my time at university I founded my own indie Mac software company: Cindori.
Since 2013, Cindori has been my main occupation, and I’ve developed several apps since then; all with a focus on enhancing the Mac experience. I love designing things and releasing them into the world, and the reaction and excitement it can generate from fellow Mac users.
3) What got you started/interested in creating your own applications outside of your “normal” job? How do you balance your time between friends/family, work, hobbies, and indie dev?
Working as an indie developer suits me perfectly, as I can set my own hours and answer to none other than my users. When I’m not glued to my Macbook working on the next big thing, you’ll find me in the local gym or (usually) on a trip in some other country.
4) Sensei - I am absolutely amazed all the Sensei has to offer 🤯 I feel like I’m pretty mean to my Mac mini but Sensei can help make up for all things I do to it. I’ve already cleaned up a lot of free space and removed login items and launch agents. How did the journey of Sensei start? Did you know you wanted Sensei to get as full featured as it is today?
Sensei is the continuation of a series of apps that started with Trim Enabler, a utility for enabling Trim for third party SSD’s in Macs that I released in 2012. Since then, I’ve developed Trim Enabler up until version 4, expanding the functionality to include features like benchmarking and disk health via S.M.A.R.T analytics. In 2014, I released Disk Sensei, which featured an even broader set of performance tools like a Dashboard, Disk Cleaner and System Optimizer.
In late 2018, I looked at the space of Mac Performance Tools as a whole and was very disappointed with what I saw; most of the leading apps in this space suffer from a combination of being overpriced, lacking features, having misleading advertisement or even outright malware practices. None of them actually had a deep interconnection with the system they run on, and you’d have to get a separate app like iStat Menus to monitor temperatures, a third app to monitor Disk health, and a fourth app to control fan speeds. That’s when I decided to use all of my knowledge of the Mac platform to build a brand new app that combined all of these features in a beautiful package.
5) Sensei - The implementation of “Uninstaller” is soooooo good! I’ve never seen another app that groups the app binary, caches, containers, support files, and more to help display what’s taking up space. I’ve been struggling to figure out why my 500GB SSD was running out of space and Sensei helped me see that Docker and some rouge Xcodes were taking up way too much space 😇 Where did the idea for this feature implementation come from? Are there are a lot of weird edge cases with this approach that you encountered?
Thanks! The Uninstaller (and Clean) are the two features I personally use the most. I’ve always thought of the App Uninstaller as the #1 Feature That Apple Forgot. Depending on the application, simply dragging an app to trash can leave up to 90% of installed files still littered on your storage. I loved using an app called AppZapper back in the day, but I thought there was an opportunity to create something better. Building a scanner that can quickly find and organise all these files wasn’t easy, but I’m really happy with how it turned out and have great plans for this feature in 2021.
6) Sensei - I have never heard of the problem that “Trim” solves before but my understanding of it makes it sounds pretty cool! It sounds like its cleaning up a room (hard drive) as it just gets a little bit dirty before it gets too messy to walk through? And this makes the room (hard drive) more performant because less things to walk through? Please tell me if its not 🙃 Either way, how did you know this feature was a thing you can do and how do you do it (if you can share)? 😊
Trim is a built in feature in SSD’s, and in short it reduces the number of erase cycles when you are writing and deleting data, increasing drive longevity and performance. Trim is enabled in Linux and Windows by default, but is disabled for third party SSD’s on Apple platforms. The Trim feature in Sensei builds upon our Trim Enabler tool, by offering a way to enable Trim for all SSD’s via our custom driver.
3) Sensei - I have learned so much about my hard drive 😁 I looked at a bunch of stats I didn’t know existed, tested some benchmarks, and looked at the health of my hard drive. To be honest, I had no idea I wanted to know this much about my hard drive but I love it. My hard drive health is currently at 98%. Are there ways that I can use Sensei to help me keep it in good health? I know nothing about hard drives but now I want to know everything!
All storage mediums come with a limited life span which is directly affected by time, data flow, and temperature. Sensei can’t stop time, but it can help you monitor data flow and temperature. The best way to use the Disk Health analysis in Sensei is to preemptively backup and replace a drive that you can see is about to fail. I’ve also had users use it to detect the true age of a Mac that they bought second hand.
4) Sensei - What has been the most fun part about working on Sensei? I can imagine you probably ran into some problems that were fun to solve.
Definitely the design part. There’s so much data and statistics hiding in a Mac, but the trick is to present it in a way that is useful and educational to the average user. I’ve also tried to push the limits of AppKit by developing most of the UI as custom components, and will be continuing to do so with SwiftUI from now on.
5) Sensei - I was browsing “Cooling” and I had no idea my little Mac mini had so many thermal sensors. I then got curious about what Sensei would look like on a more powerful Mac 😈 What is the biggest computer that you’ve seen Sensei run on? Has it run on one of those crazy expensive Mac Pros?
Sensei has many Mac Pro users! I think the craziest setup I saw was a user with a 2019 Mac Pro with 28 Cores, 768 GB RAM, Vega II Duo, 8 TB Apple SSD, Afterburner, 24 TB external RAID… You get the idea. I’m very honored that Sensei is trusted by Mac professionals.
6) Sensei - What’s next for Sensei? Do you have any new features planned that you can share?
There is a ton of great new features coming to Sensei soon. I’m working on a Fan Control feature, which will allow you to control Fan Speed and set custom profiles. I’m working on major new versions of the Clean and Uninstaller, rebuilt in SwiftUI. The most exciting feature right now is definitely Sensei Monitor – a completely customisable performance widget dashboard for your status bar, set to release in December.
7) What’s been the hardest part of being an indie dev? What the most fun part of being an indie dev?
It is definitely hard to manage all your projects. As a solo indie developer, you have to juggle many roles while also staying creative enough to come up with new ideas. It can also be hard to grow as a developer without coworkers or an influx of new knowledge and ideas. To combat this I try to be active within developer communities and learn from peers in the space.
The best part is definitely the creative aspect. Coming up with your own idea and developing it into a real product that you release into the world is a hugely rewarding process.
8) Is there anything else you’d like to tell the indie dev community about you?
I can’t think of anything, but go try out Sensei at https://sensei.app!
9) Do you have any other indie devs that readers should follow / lookout for?
Some of the best things I’ve seen this year has been coming from @sindresorhus, @antonheestand and @vadimshpakovski. Definitely check them out!
1) What is your name? Where do you live?
My name is Damir Štuhec, and I currently live amid vineyards in Jeruzalem, Slovenia.
2) Introduce yourself. Education? Background? Main job? Interests outside of tech? Interests inside of tech?
I was born and raised in Slovenia. My family is full of musicians, so music was supposed to be my professional path as well, but computers came into the picture and carried me away. I started programming at the age of 14, which opened up a whole new world with endless possibilities. An obvious high-school of choice was, therefore, electrical and computer engineering. I continued my education at the faculty of electrical engineering and computer science in Maribor. In 2011, during my first year of master’s degree, I discovered iOS, and I got hooked.
In 9 years as an iOS engineer, I worked at many companies, big and small, notably Qapital and Twine. I’m currently a full-time indie, working on Highlighted.
My interests outside tech are sports (mainly soccer and running), playing guitar, cooking, traveling, and drawing.
3) Have you ever considered yourself an indie developer?
I always considered myself as one before I even knew it was a thing. I was always drawn to disassemble, create, and invent based on the challenges I saw around me and the ideas I had. I think this drive to explore, solve, and provide is at the core of every indie.
4) What got you started/interested in creating your applications outside of your “normal” job?
I always enjoyed being challenged by something completely new and unknown. I think it’s a great way to learn new skills and acquire new perspectives. That naturally led me to explore new technologies, trends, and ideas that surfaced over the years and try to turn them into my own products.
5) How do you balance your time between friends/family, work, hobbies, and indie dev?
Slovenia doesn’t offer a lot of good iOS opportunities, especially in my area, so I became familiarized with remote work quite early in my carrier. I’ve been working remotely for the last 5 years, which makes balancing your personal and professional life that much more challenging.
I believe it’s essential to set non-negotiable boundaries in terms of your daily schedule and environment. I try not to do anything work-related after a certain hour in a day, and use a separate room as my office to physically separate myself from that mindset. It’s very tempting to sprinkle the work throughout your day, but that results in an unfocused, unproductive, and often unhappy lifestyle.
5) Highlighted - I’m slightly saddened that I didn’t have a Highlighted as a tool to use during my years in school 😭 The app makes storing quotes so effortlessly and would have been amazing for textbooks. But I do mostly read tech, business, and personal growth books so I’m pretty excited that I can grow my highlight collection with those! What was your inspiration for making Highlighted? What did problems did you have before it existed?
Reading books is quite a substantial time investment. To make the best of it and retain important takeaways, I tried taking notes but never found a system that would work well for me. I had the idea for Highlighted for quite some time, but the text recognition technology was just not good enough until last year when Apple introduced the native, on-device OCR support for iOS. What followed was “Xcode → New → Project…”. 😄
6) Highlighted - The controls for highlighting an area of a photo for highlighting are so good! I had no issues picking up how to use it. Did you have other design ideas that you tried for highlighting text? What was the most challenging part of highlighting text?
That’s great to hear. Initially, I always try to avoid looking at other products for inspiration because I find myself quickly constrained and influenced by their solutions. I usually brainstorm on my own by trying tens of different configurations and implementations. Most of them turn out to be trash, but here and there a good solution that feels right comes along.
The most challenging part of highlighting text is accuracy. While Apple has done a great job with their OCR technology, there are still a lot of situations developers have to account for. Things like bad lighting, curved text (book pages), text formatting, etc. It’s quite challenging but very fun to work on at the same time.
7) Highlighted - The quote is widget is so 😍 but I think my favorite widget is actually the “Reading Now” widget. I sometimes forget I’m reading a book (🤦♂️) so its nice to see this a reminder on my home screen. Making widgets is soooo addicting! How was your experience making widgets? Do you have any other widgets that you want to make?
I love widgets too! Making widgets was mostly straightforward, however, I ran into an issue I haven’t predicted. Highlighted widgets were initially static, offering no configuration options. Over time, users started requesting options to control the text size and update rate for the “Random highlight” widget. Converting the widget from static to dynamic configuration completely broke existing widgets for everyone. 😳 A workaround was to reset a device or remove and re-add the widget, which was very unfortunate.
8) Highlighted - I’ve been creeping and noticed that you respond to every single App Store review which is so impressive 🤯 I think this is such a great idea. What motivated you to respond to all the App Store reviews? What kind of process do you have to make sure you don’t miss any?
You have a keen eye. 😊 That’s true, I do respond to every single review, good or bad. I’m against using rating popups/alerts, so Highlighted doesn’t use any of that. Everyone who decides to write a review does so on their own, and my response is the least I can do to thank them. Also, I take every opportunity to listen and learn from my users very seriously, and reviews are a great source of that.
Highlighted is not receiving that many written reviews at the moment, so I’m able to respond to all of them manually, by checking the App Store Connect every day or so.
9) Highlighted - Not really Highlighted related at all but what are some of your favorite books? I have a hard time finding books to read so I like to see what others are reading 😁
- “Shoe Dog” by Phil Knight (highly recommend the audio version)
- “Awareness” by Anthony De Mello
- “Atomic Habits” by James Clear
- “Essentialism” by Greg McKeown
10) Moonlight Express - As you know, I discovered Moonlight Express after I messaged you about being in this issue. I was so excited after I played it that I had to include it! The art style and opening movie are very captivating (I was hooked even before I started playing). The one tap control style of the game is perfect as it allows me to enjoy the art. I started a small game and I think it’s going to take my 5 years go finish 😛 How did this project start? What framework was the game made with? What was the development process like?
I could write a whole “10 things I learned from leaving a comfortable job to work on an indie game” blog post. 😅 It was such a wild ride full of unknowns, crazy deadlines, and challenges along the way. Moonlight Express is made 100% using SpriteKit, which was a challenge on its own, especially not having any prior experience with it. All game art is drawn by hand, by an amazing Lea Vervoort (https://www.leavervoort.nl), a freelance illustrator from the Netherlands. The sound design was done by my brother. It took us 2 years to complete it, and the process was very much ad-hoc because none of us had any experience in making games. The game made very little revenue, but it was an experience I’ll never forget.
11) Highlighted & Moonlight Express - What’s next?! Do you have any future features that you can share with us? 🙃
I’m planning to stay focused mainly on Highlighted. I enjoy working on it a lot, and being the user of my own product makes me that much more motivated. The goal is to be the best book highlighter on the market.
12) What’s been the hardest part of being an indie dev? What the most fun part of being an indie dev?
The hardest: financial uncertainty. Building a stable product that is financially healthy is extremely hard these days. Most fun: having close relationships with my users. Being able to connect with them and learn from their experience is so rewarding.
13) Is there anything else you’d like to tell the indie dev community about you?
I really enjoy connecting and meeting people. My Twitter DMs are always open, so please reach out to say hello, ask about iOS, or anything else.
14) Do you have any other indie devs that readers should follow / lookout for?
I don’t want to single out anyone. That said, support young developers by following them, sharing their work, encouraging them, and helping them however you can.
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 😜