Open Sourcing Snowballs
When ChatGPT 4 came out in March 2023 everything changed. A paradigm shift that made everyone be able to access solid, cross-domain, knowledge with every typed question.
It’s safe to say something shifted in the world, especially for Software Engineers. What once took years to learn could now be learned in mere weeks. Hmm, K8s was hard to learn?
The bugs that once took cruel hours to fix could be brought down to mere minutes in most cases, if you knew what question to ask.
Quite a long intro, but these are all arguments that pushed me to make Snowballs for macOS Open Source.
Why not just use the ChatGPT Subscription?
Before making snowballs I have used the ChatGPT subscription, while it’s been nice, I would get rate-limited every so often, the fact that the data is used to train the model was always in the back of my mind and it slowly became a more consumery app.
Finally the fact that you can pay on demand through an API Key, made it clear which the winner solution was.
Meet the App
Snowballs is a keyboard first, always-on, async ChatGPT client build for macOS.
It’s been build with the macOS experience in mind, it never requires you to switch apps or do mouse acrobatics. Just type ⌥ + Q
and GPT away.
As of now a persistance layer is lacking, so every chat will be gone from your machine once the app exits.
As you probably figured out, it’s Open Source, so if you’re considering dropping a star on Github, it would be appreciated.
You can go surf around the code and see exactly how it works.
The Design
4 Hotkeys, that’s all it takes to use it, all of them close by where your left hand rests on the keyboard, configurable as well:
- Open / Close
⌥ + Q
- Go to the Chat
⌥ + W
- Go to next Chat
⌥ + S
- Delete a Chat
⌥ + D
A stack of snowballs on the left-bottom of your screen, each one representing a thread you have active with the AI, controllable by hotkeys.
Each snowball gets its own title to help with referencing them, and gets its own loading indicator when processing happens.
The final part of the design is the chat panel, that allows you to talk to ChatGPT and see your active conversation.
There’s not much to say here, the app is a metaphor for throwing snowballs between you and the AI, so there had to be a snowballs design motif in there!
Here’ s a quick look into how it works:
The Code Architecture
Coming soon.