My Photo

Hi, I’m Manuel

Maker of terrible puns and delightful apps

App Showcase

As I’m just starting out on my independent iOS/macOS developer journey, Chatterbox is currently my only published app, although Zenitzier will hopefully be ready for beta testing soon. Keep an eye on the apps section as well as my blog or social media profiles, for new appdates.

Latest Blog Posts

My most recent blog posts. Head over to my blog to see all posts and filter them by topic.

A screenshot of my conversation with ChatGPT that taught me how to use evaluateJavaScript to click elements inside a WKWebView

Building a ChatGPT App With the Help of ChatGPT

Thursday, 29 December, 2022

When I started prototyping Chatterbox for ChatGPT, I decided - as an experiment - to utilize ChatGPT in the process. I know, so meta, right? Here are some of my observations, thoughts and takeaways from that experiment.

Getting Started

I wanted to build the native UI with SwiftUI (+AppKit where necessary) and I knew I’d want to embed the actual ChatGPT website in a WKWebView. I asked ChatGPT how to interact with HTML elements from the surrounding Swift code and learned about the evaluateJavaScript method of the WKWebView class. This allowed me to prototype the app and start experimenting with different ideas and features.

ChatGPT as a Mentor 🧑‍🏫

As I was building the prototype, I continued to ask ChatGPT in order to learn about topics, I have not encountered before (while most of my SwiftUI experience was transferable to macOS, I did learn quite a few new things about AppKit in the process). In a way, ChatGPT played a role in the development of Chatterbox - it helped me learn the skills and techniques I needed to bring the app to life. When it worked, it got me there faster than searching Google and/or Stackoverflow, but I will say that, quite often, it gave results that were either slightly wrong or completely wrong and made up.

The first case is not an issue (IMO) because I only consult it for pointers on “how to get started with something” rather than copying and pasting whole blocks of code verbatim, so fixing minor issues on the fly while implementing a solution is easy enough most of the time. The problematic part is when ChatGPT gives a completely false and made up answer but does it in a way that sounds fully confident and professional. On some occasions it hallucinated completely non-existent APIs (which sounded plausible enough). There’s something particularly disappointing about that experience because I always get my hopes up about this “super convenient magical API that would be a perfect fit for my problem” 🥲

ChatGPT as a Rubber Duck 🐤

Are you familiar with the term “rubber duck debugging”? If not, you should read up on it because it is an absolutely brilliant technique! While developing Chatterbox, sometimes I would ask ChatGPT for help when encountering errors or problems. While the responses where often pretty generic and not too helpful, sometimes the mere act of formulating my question and seeing it reflected in ChatGPT’s response was enough for me to realize what the problem is 💡

Will ChatGPT become my go-to rubber duck debugging companion? No, because:

  1. Formulating questions in writing is tedious (I enjoy typing and think I’m pretty fast too, but just “talking to myself” is quicker)
  2. Anika the Radar Plushy (one of my dearest “souvenirs” from my time at Apple) would be really sad to be replaced by an AI chatbot. She’s such a loyal coding companion, never complaining and always listening to me blabbering on about all the random issues I encounter during my work ❤️

“A photo of Anika, an ant-eater plushy sitting on my desk acting as my “debugging rubberduck”

Summary

Ultimately (like many of you, I’m sure), I have come to the conclusion that ChatGPT is quite impressive and can be very useful, but it is just a tool after all - and a flawed one at that. Used as a research, learning and debugging companion (while reflecting critically about its output) it can speed things up and make you more effective. But it can also be distracting and outright confusing by “teaching you” things that don’t actually exist while sounding absolutely confident, often requiring to “manually double check with Google” after all…

It has certainly earned its place in my toolset (and is always at hand with Chatterbox’s global hot key) and I’m curious to see how it develops and how I and others will continue to find creative uses for it and ways to integrate it into our workflows. Feel free to reach out if you’d like to share any cool use cases for ChatGPT that you discovered for yourself.

A screenshot of the main window of chatterbox depicting an example conversation

New Side Project: A Native Mac App for ChatGPT

Thursday, 29 December, 2022

I’m excited to share with you a new side project that I recently launched: Chatterbox, a native macOS app that makes it easy to interact with the ChatGPT website from your desktop*

It all started when ChatGPT was released. Like many of you, I was excited to try out the new website and start chatting with the Open AI’s Chatbot. But as I was using it, I found myself frustrated by the fact that I had to stitch together multiple screenshots to share conversations with my friends. I also wanted a more convenient way to use ChatGPT on my Mac, with better OS integration and a global hotkey (kind of like “Spotlight for ChatGPT”). That’s when the idea for Chatterbox was born.

Features and Design

One of the standout features of Chatterbox is the ability to easily take screenshots of your entire conversation with a single button press or keyboard shortcut (⌘ S). And if you want to quickly delete or export those screenshots, the in-app screenshot manager makes it a breeze with drag-and-drop functionality.

But that’s not all - Chatterbox also comes with a global hotkey (⌥ Space, or a custom hotkey of your choice) that allows you to summon ChatGPT from anywhere, just like Spotlight. Plus, there are convenient keyboard shortcuts for all the important actions, such as ⌘ N for “New Chat.”

The app’s UI elements are fully designed to look and feel right at home on your Mac and it even includes automatic dark mode switching based on your system settings.

I’m sharing Chatterbox for free on Gumroad. If you feel like supporting the app, you can share it with your friends or on social media, or consider leaving a tip on Gumroad.

I hope you enjoy using Chatterbox as much as I enjoyed creating it. Stay tuned for more updates on this and my other projects.

*Footnote:

The app has actually been available for over two weeks, but I have not gotten around to writing an appdate blog post for it yet 😅. I’ll try really hard to post here more regularly going forward (#newyearsresolutions 🙃)

A view of our balcony in our Bonn apartment where I'm watching the sunrise and writing my first blog post for the new website. There's a cup of freshly brewed espresso next to my Laptop.

Hello World. Anyone Still Out There?

Sunday, 04 September, 2022

Wow, a blog post - must’ve been a while since I wrote one of those… In fact, I had to go back and revisit my old blog to find the last one was from September 2016 - six years ago!

Someone call pest control, cause we’ve got a serious infestation of Time Flies! 🕰 🪰 🪰

Seriously though, as I’m typing these lines and chuckling about my brilliant joke (sorry not sorry; the terrible puns are gonna be a thing ‘round here 🤷‍♂️) while enjoying a fresh morning brew and watching the sunrise from our balcony, I’m thinking to myself that I’ve really been missing this whole blogging thing and I definitely don’t want to wait another six years to write the next post - I promise (more to myself than anyone else because at this point I expect my regular readership to be… nil)

Quick Intro

So, you’ve not only somehow stumbled on this post but for whatever reason are still reading despite the time flies pun? Well, I have a feeling we might get along pretty well, so let me introduce myself 🤓

Background, Interests and Experience

My name’s Manuel, I’m originally from Germany (where I now live again) but have lived in Scotland, England and California over the last seven years. I’m a software engineer and designer but also a hobbyist musician (guitar, singing) and like to dabble in “the arts” and explore the outdoors (especially hiking and mountain-biking).

Some of the topics I’m most interested in are “Tech” in general (both hard- and software; specifically iOS, macOS, watchOS, smart home, automation and app development) but also “lifestyle topics” like outdoor adventures, travel, mindfulness, productivity and many more. Expect random posts about all sorts of things on this blog but rest assured I implemented a category filter so you can only read what’s interesting to you and ignore the rest.

For the five years prior to my relocation back to Germany, I’ve been working as a software engineer at Apple, where I had the exciting opportunity to help build some of the software that I personally use on a daily base and learn so much about software development in general and the Apple ecosystem in particular. Most importantly though I got to work alongside very kind, passionate and brilliant folks - many of which I have the honor to call my friends today. If one of you is reading this, I really miss y’all 🥲

The Road Ahead

After moving back to Europe, I decided my next step will be working as an “independent iOS & macOS developer” doing a mix of freelance work and my own app projects. So far this has been a lot of fun and quite a wild ride to say the least. Starting a business for the first time can be challenging, starting one in Germany (where we love bureaucracy) even more so, and doing this while still dealing with the aftermath of a transatlantic relocation with all that it entails? Well, let’s say, there’s been a bit of “admin overhead” going on over the last half year and I cannot wait until the dust has fully settled so I can really get into my groove and have a bit of a “routine” again for a change 🙃

I will say though that I have been spending more and more time doing the things I love (building cool stuff) lately, with this new website being one of them! Expect more to come going forward; in particular, I am hoping to launch a beta test for my first app Zenitizer on TestFlight soon. Stay tuned for Appdates.

Why the Radio Silence?

You might be asking why it took me such a long time to write a blog post? Well, “it’s complicated” and ultimately due to a number of factors, but in a nutshell mostly because Apple had fairly strict policies around any kind of public speaking or publishing of content related to Apple itself or “The Tech Industry” and while there was not a blanket ban on blogging/social media, I definitely would’ve needed to be careful about what I write online and how it’s worded so I decided to play it safe and just not post anything for a while.

About This Website

If you are reading this, it means I have finally published my redesigned website 🎉 As I pointed out above, I’ll be blogging about a number of topics and, of course, this will be the primary channel to learn about My Apps and get any Appdates about them.

Feel free to reach out (via Email, Twitter, Mastodon, or LinkedIn) if you have any thoughts or questions, whatsoever. And please let me know if there are particular topics you would like me to blog about. I will certainly follow up with a more technical post about the design and architecture of this website in the coming weeks.

For the curious and impatient: I’m still using a static site generator but I switched to Hugo in the meantime. This time, I completely designed and implemented the theme myself using the lightweight and highly flexible CSS framework Bulma which has been a joy to use.

But I’m getting ahead of myself here… Coffee’s empty and the sun is up, so I’ll stop writing for now.

Until next time ☕️ ☀️

“A view of our balcony in our Bonn apartment where I’m watching the sunrise and writing my first blog post for the new website. There’s a cup of freshly brewed espresso next to my Laptop.”