Indie Interviews

Alin Panaitiu

Alin Panaitiu
Alin Panaitiu

Alin Panaitiu

@alinp32

Can you tell us more about yourself and what led you to become an indie maker

I'm Alin Panaitiu, a macOS app developer from a mountainous old city called Brasov, Romania.

I've always been the kind of "do-it-yourself" dev where if I can't find a solution, I'll create my own. That was also the case with my first macOS app, Lunar: I got a 4K monitor for my MacBook, and discovered like many others, that there's no adaptive brightness control like my MacBook screen had. Since I was working on an indoor balcony office, the ambient light was wildly varying, so it was impossible to keep adjusting the monitor brightness manually using its finicky joystick button.

As with many of my apps, I first coded a command-line prototype, then found a need to visualize the brightness curve so I coded an UI, published it for free and things rocketed from there. Turns out I wasn't the only one annoyed at monitor buttons and the state of brightness control on Macs.

How did you come up with the idea? How do you generate ideas for your apps or projects, and how do you identify the problems or needs your app can address?

For Lunar the story is simple, I needed adaptive brightness for external monitors, I built it, people came to me since they had a real need for it and there was no other good solution. All the other things that Lunar does (like keeping monitors in sync, turning off displays etc.) are implemented from user feedback, I would have never come up with those ideas myself. Even if I find them useful myself now that they exist.

I guess talking with users is my main way of identifying problems that my apps can address. Once I scratched my own itch and the app works for me, I have to rely on other people to tell me how my app can do better. That's why I make sure to have a contact button in all my apps, leading to both a contact form and a Discord chat.

But the starting idea, it usually comes from doing a specific thing over and over again, and finding it mildly annoying.

Like with my other app for example, Clop, which is an auto image/video/PDF optimiser. As an app developer I send tons of screenshots and screen recordings every day, and I also create a lot of graphics for my websites. Turns out that most of these images are very uncompressed at first. Like a full-screen screenshot can result in a 12MB PNG image. I knew this can optimised down to less than 1MB using ImageOptim but having to fire up an optimiser manually dozens of times a day can get to your nerves.

And that's not even including videos which can be huge 100MB+ MOV files that take long to upload and a lot of bandwidth for the user to watch, and needs me to concoct an ffmpeg command-line incantation to get the video down to a few MBs in size.

I was at a coffee shop when I started Clop out of anger because I couldn't believe I'm not able to send a measly 10 seconds screen recording over the shop's WiFi. It took less to build a prototype app than to upload the damn recording.

How is your day-to-day app development workflow look like?

Well, this is a hard question because my life now as an established app dev is wildly different from my life as a starting indie maker. For years, after I bit the bullet and quit my job to make Lunar an app worth buying, I would be working 12-14 hours a day, forgetting to eat, not hearing my wife speaking right beside me and missing important things that were happening outside that laptop screen I was glued to. It was an unhealthy life, but it was part of my learning experience. I learned to be less worried and treat everything as less urgent now.

Nowadays, I start my day without looking at my phone first thing in the morning. It sits there in Standby Mode functioning as a stupidly expensive bed clock, while I make my coffee, play with my dog and try to wake my wife up from her slumber. After a few hours outside where I do some woodworking in the morning sun (here are some articles on that if anyone's interested: my spoon carving journey, Woodworking as an escape from the absurdity of software), I eventually get inside, eat, and then start the dev work.

Dev work is actually a lot of customer support now. I respond to about 4-5 emails a day, 2-3 Discord chats, sometimes a Twitter or Reddit DM, each user with its own very specific issue. (that's life when your app depends a lot on the hardware used, like what monitor the user has, what cable they use, are they using a USB-C hub or dock, do their videos reside on an external hard disk, does it have slow read times etc.)

Responding to those issues usually lead me to coding a small fix, or testing a specific functionality of my app. That can even lead to a trip to an electronics store for purchasing a cable I don't have or even a small monitor. I'm drowning in HDMI cables here, who knew there can be so many different cables.

After a few hours of coding, I go back to my wood work outside where I can be more present.

How do you launch and market your app?

My (unintended) strategy is: launch the app for free, then add paid features.

I can't know what people would want to pay for from the start. So I only build the most basic functionality that scratches my own itch, and don't worry at all about the less creative stuff.

There's a lot of things that a polished app is expected to have nowadays:

  • • an auto update mechanism
  • • a license verification logic and UI
  • • an in-app purchase system
  • • anonymous error reporting
  • • some way to disable all of the above for the privacy-minded people
  • • a presentation webpage

I ignore all of that for the launch. I just release the app as a free download when it has reached the state where it solves the specific problem I have, on a one-page website with a small title, description and download button. I then post about it on Reddit and Twitter and let it be discovered. I'm also active on Reddit and HackerNews comment sections, and I recommend my app there sometimes, but only if it's really really relevant and if I can help with more info on the subject. I don't just post a link and write "shameless plug 😉😜" then run away.

If the app resonates with a number of people, usually those people will contact me with feedback and feature requests. If I like the idea of those features, I build them, send betas to people, but hold off on the release. Eventually after accumulating enough of those features, I build the payment, licensing and auto-updates and release a full paid app with a trial, that seamlessly falls back to a free version having all the functionality that was free from the start. I never take away from the people, only add.

I also blog about various technical challenges I encountered while building said app. My blog articles are rare and very in-depth, catered towards a HackerNews-like audience, but that's just the way I like to write. I don't create my style for the platform. Also, don't underestimate what a few hours of being on the frontpage of HN can do for your app success. You can see how spikes in my article reads correlate with spikes in lowtechguys.com traffic:

What are the future plans for your app?

For Lunar, I plan to add an event-based automation system, so people can fix their very specific monitor problems themselves. For example some monitors will wake up from sleep with missing resolutions or a low refresh rate, and only disconnecting and reconnecting them will fix the issue.

Lunar could provide users the ability to "code" a simple automation like:

on wake -> if monitor is locked on 30Hz -> disconnect -> wait 5s -> reconnect

That's just an example, the forums and my mail inbox are full of people complaining about weird monitor problems that are specific to their setup and I can't possibly fix inside the app.

Clop is newer and has more untapped potential so there are way more plans than I have time for, my todo list is endless 🙂 People have been asking for audio compression, as they need to easily supply <25MB audio files for transcription services, or simply compress their FLAC music library to more efficient AACs.

Web devs ask for automatic conversion of images to the webp format for saving up bandwidth. Raycast and Alfred integrations are on the way.

The thing I'm most excited about are Preset Zones which would allow dropping files into sub-zones of the Clop dropzone, for doing a series of actions in one go like:

  • optimise screen recording -> crop to 16:9 -> make 1.5x faster -> convert to GIF -> post to Twitter
  • optimise image -> downscale to 50% -> upload to imgur -> add link to the current research note
  • download invoice PDF from URL -> optimise PDF -> crop to A4 page size -> email to accountant

Do you have any interesting lessons learned or tips for other indie makers?

For sure! The biggest lesson learned is that there's a large effort gap between building a prototype app for yourself, and polishing that app for releasing it to other users. There are people going around saying: "I could do that with ChatGPT in an hour! how can you ask $ for it?"

Those people are missing the point. When working on something used by more than 10 people, you have to get into what I call "defensive coding", where at every step you have to think what could go wrong in these 5 lines of code if something's different from what you expect.

As an anecdote, at first with Clop I ended up deleting some precious videos and images of some users because I didn't account for spaces being possible in their system username, which led to optimisation commands failing. Thankfully I had the forethought of always backing up the file before acting on it, so I could point people to where the temporary backups were. But I can assure you, ChatGPT will make the same mistake as me, and then some, and you'll be liable for that, not GPT.

I don't mean to scare people, I just don't want them to go into this thinking "I'll use AI and make a $10 app with 1000 sales per month". Quality products take time and (human) effort.

Another tip is: don't stop at your first app if it seems to be a fluke.

It took 4 years for Lunar to become popular enough as a free app, so that I had enough of a following to turn it into a paid app bringing a good monthly income. After making a name for myself with Lunar, I thought all apps after that will perform the same, so I started The low-tech guys and released ⌘ rcmd which had less than 5% of Lunar's sales. My next apps were even worse performing: Grila has like 2-3 sales per month, Volum ended up being free because its audience is of the "I don't like paid stuff" type and so on.

Some apps simply don't solve an issue that a lot of people have a real need for. The idea is to persist and try out ideas until one sticks. Or until you accumulate enough small $500 MRR apps that you eventually reach a nice stable income.

Looking back, are there any decisions or actions you regret not taking before or during the development and launch of your apps? Is there anything you would have done differently?

I regret publishing on the Mac App Store. Especially in rcmd's case, but not only. The App Store review process is a shitshow as you can read in my review timeline, the user ratings and reviews are nothing but stupid with 1 star given for "not having chinese language", and the sandbox limitations are getting worse every year.

In rcmd, because of the sandbox I'm forced to do some hacky hotkey registration using an antiquated API deprecated 12 years ago, and this year with the release of macOS Sequoia, they've suddenly disallowed Option-letter and Option-Shift-letter hotkey registration with no alternative. It caused me tens of hours of customer support and dev work for something that worked just fine before.

Avoid the Mac App Store at all costs if possible. It might seem like less effort at first as you don't need to add your own auto-updates, payments and licensing, but it's more effort and headaches in the long run, and you're always at risk of being delisted.

Are there any other products that you are particularly proud of? Could you share some details about them

I'm quite proud of a recent free app I published called IsThereNet, a very small utility app that has even helped me as I'm writing this email on a 6-hour train ride to my parents house. I'm connecting my MacBook to my phone's WiFi as a hotspot, and the 4G signal is spotty when going through the mountains. It's so nice to just know when the internet is not available so I can keep doing my offline work (like writing this email) and putting aside the online work (like finding website links to include here) until I see the green line showing a working connection.

It's also nice having that yellow line saying that internet is slow, so that I know it's not the time to upload screen recordings for now.

Are there any indie makers or creators whose work you admire and follow closely?

I do follow Christian Selig who made Apollo for Reddit, also Sindre Sorhus who did most open source frameworks that I use in my apps like Defaults. I admire them for constantly putting in the work and coming with such good ideas for software.

Lately, I'm trying to detach myself from this world and only keep doing this on the side while I focus on expanding my wood work skills, but seeing them release new things so often does give me the ambition to do some focused dev work from time to time.

I also follow Charlie Chapman who made Dark Noise on iOS, and listened to his whole Launched.FM podcast. It's a great listen for indie makers, especially on iOS and macOS. I especially loved the episodes with Gui Rambo from AirBuddy and Rafa Conde from Hand Mirror.

Could you recommend any specific tools or resources that you believe are helpful for other indie makers, especially those just starting out?

For macOS developers, a Setapp subscription is very helpful in my opinion. You can see in the screenshot just how many useful apps I get for $10/month, all those I use daily:

Of course not everyone has the same needs as me, but here's to give you an idea what use I get from those apps:

  • • I measure app UI elements and distances with PixelSnap when coding my app graphics to make sure I get paddings, sizes and radiuses correct
  • • I keep app color themes in Sip so I can use the same Lunar yellow or the same rcmd red throughout UIs and websites
  • • I annotate screenshots with arrows, highlights and text with Cleanshot X to tell users where to find specific app settings
  • • I create math formulas in Soulver to develop algorithms like syncing brightness curves between monitors, or finding a good lux-to-nits mapping with DIY sensors
  • • I upload images, videos, markdown notes to my websites using Dropshare so I can easily link to them
  • • I instantly search Apple documentation in Dash (this is probably the most useful apps out of those)
  • • I debug HTTP request problems with Proxyman
  • • I look at myself with Hand Mirror to see how much that last angry support email has aged me (kidding ;) ..and so on

Another useful tool I think is Cloudflare Email Forwarding and their Domain Registrar. You can buy .com domains from them at the nominal price set by ICANN (no added fees), and with a bit of setup, you'll be able to receive and send emails from your name@my-domain.com address and look a little more professional in the eyes of your users.

Their Cloudflare Pages offering for free hosting static websites is also very good. I would have surely used them if I didn't already had my own bare-metal server.

Thank you for having me as part of Indie Goodies interviews! It's been a pleasure to talk about my work and take some of this off my chest.


Thanks for reading til the end. Hope you enjoy the interview as much as we did.

Indie Interviews by Indie Goodies is all about discovering and showcasing indie makers. We firmly believe that behind every app, there's an inspiring tale of passion, creativity, and perseverance. We're always on the lookout for aspiring indie makers to feature in our series, and if you have any suggestions or recommendations, we'd love to hear from you.

Once again, thank you for joining us on this journey. Your support means the world to us. Until next time, keep supporting indie makers, keep exploring innovative apps, and subscribe to Indie Goodies interviews for more.