Show HN: Yet another macOS ChatGPT app (letsflyai.com)
What I thought would take me weeks in development, took me months, but it's finally out. When ChatGPT API came out in March, my first idea of what to build with it was a spotlight-like app for my mac. The product was ready in a matter of days, but making it useful and sellable to people via some kind of distribution platform was another challenge. Coming from web development, learning how to ship a native app was a trip, but here it is, ready to share with the world. Try it out with the free trial, and I'd appreciate any kind of feedback.
54 comments
[ 3.0 ms ] story [ 116 ms ] threadEDIT: I see on the site:
> We take your privacy seriously. Your data is never recorded, and opted out of future model training according with OpenAI API policies
The claim that "Your data is never recorded" may even be legally fraudulent. I'm glad that you don't record the data, but OpenAI does - making the claim as written a lie.
I understand why you made these decisions, but the website should not contain borderline false advertising.
The only way to guarantee something is private is if it never leaves your computer.
The in-app purchase grants you 4 million tokens per month, with unused tokens rolling over to the next month.
My aim is to provide a sleek macOS ChatGPT/GPT-4 experience for people who wouldn't bother signing up for Open AI developer account and bringing their own API keys.
Alternatively, if there is demand, I was thinking of charging just for the convenience of my app and allowing people to "bring your own keys". Let me know if that would be a more attractive option for you. Not sure how that would fly with Apple in-app purchase policies, but could be worth a try if that's what people want.
For people who already have subscription this would be useful. Thanks in advance !
Can you share your learning experience and overall impressions?
Coming to native development, you kinda expect that you'll be writing beautiful code, in the spirit of Apple (beautiful outside, beautiful on the inside), but you quickly realise that the closeness of the platform works against it, and very often you have to resort to hackity-hack solutions and your code is anything but beautiful after all.
Nonetheless, I enjoyed building a native app, there is something different to it, like you're building something physical, something that you can feel and touch and experience. And I've barely touched the surface of what's possible with it, constrained by time being a solo dev. Swift itself is a beautiful language and a pleasure to work with, and Swift UI is very easy to pick up if you're familiar with React. Until you have to make something non-standard and find hackity ways to do it.
What surprised me the most is the ratio of product and around-the-product work. The core app itself was ready within a couple weeks, but it lacked payments, user quotas and trials. Implementing these took me about 70% of time spent on the app. It's incredibly hard to implement subscriptions as a solo developer, with both Stripe or App store options presenting their own challenges. To the point that for my next apps it would be a major factor if the app is sellable as a one-time purchase. For the sake of learning, I decided to go all-in with Apple ecosystem and use Sign in with Apple and distribute over the Mac App Store. Looking forward to seeing how it works out.
EDIT: grammar
If so, yeah AppKit has some warts, and it isn’t all that well documented. That’s how it’s been since I got started with it back in the early-mid 2000s, where your best sources for learning were random blog posts or books (the latter of which I couldn’t afford as a teenager).
If you ever do iOS dev, UIKit is a lot nicer to use in almost every way. It’s been polished and modernized a great deal in comparison, and because iOS as a platform is so much more popular/important it’s throughly documented end to end.
Still, AppKit does have some advantages, like its batteries-included nature which allows one to build complex apps with few or no third party dependencies.
I have a similar toy-app called Chitty (https://chitty-app.com), and recently decided to pull it from the App Store and offer direct downloads instead, because Apple kept throwing wrenches my way. Most notably, in a random app update review I was told that I could no longer reference ChatGPT or OpenAI, and I was not allowed users to "unlock" functionality by letting them provide their OpenAI API key. Note that I don't monitize the app in any way, so asking people to enter their OpenAI key is the only way to make the app work without causing a major bill for me.
It seems like your app get's around the API key issue by offering in-app purchases, which is good! I would recommend also making sure not to reference ChatGPT and OpenAI too much in the app or the App Store page, though the details may depend on the specific app reviewer you're assigned :)
I do feel that being in the App Store can give a lot of value (and downloads), but it definitely comes at a cost (mainly uncertainty).
And as far as features go, I don't see a way to set the temperature.
Exposing more API options (such as temperature) is definitely on the list! I just added custom function support (running small JS scripts, Wolfram Alpha and Shell commands), and more options is next!
Same monetization strategy as many resellers.
It looks like you do capture something unique, the ease of using "contexts" for the predefined prompts is component of user experience. I've defined custom prompts in another desktop app, but I never remember to use them.
- I would encourage you to walk through the workflow on the homepage:
- Crisp, shorter language: "Prompt fast", "have/keep your favorite/common/best contexts/prompts/tasks ready"" - It might be worth explaining, and explaining the unicode symbols for the system prompt and prompt prefix at the top of settings. Or having a descriptive prototype prompt. It seems like user education is a net benefit.- A workflow that coaches ("prompts") someone though adding prompts could be a useful addition.
Unfortunately I'm on an older intel MBP and can't install macOS 13 Ventura, and so I can't try out your app. Good luck!.
But it's YMCA ..
https://developer.apple.com/app-store/review/guidelines/#per...
So far I've been using Machato (https://untimelyunicorn.gumroad.com/l/machato), which has the perfect feature set for me, but despite its claims of being a native app, is just infuriatingly slow. You can't at all scroll in the app while it's producing text, and switching between conversations feels worse than using Slack.
So the search continues. What makes it so hard to produce a responsive native app, that there are so few of them out there?
Ability to set (and save) system contexts is critical. It's unclear to me why most apps don't enable this.
I can't get by without Machato's other innovation of suppressing earlier parts of the history I no longer need later in the conversation, making it straightforward to have 64k interactions with the 8k model.
Ability to fork and file conversations, as well as the cost monitoring, are gravy.
- https://untimelyunicorn.gumroad.com/l/machato
- https://github.com/sigoden/aichat
Honestly, this is my first macOS app and I'm a bit out of ideas when it comes to performance. If anyone has tehcnical knowledge about SwiftUI and how I could improve performance, please do contact me ! (contact@machato.app)
My experience has been that the SwiftUI Profiler shows that almost all processor time is spent deep inside SwiftUI/AppKit primitives, despite there being close to no updates to view properties.
I'm glad HN is enjoying the app despite those issues. I promise I'm doing my best !
Edit: had a closer look, it's a multi-app for different AI chatbots. Fun, but not at all what I'm looking for (responsive Mac interface to OpenAI API).
I payed 5€ for Machato, and would probably pay up to $10 to try out other apps. For me, $30 would already be in a territory that I would not pay upfront, but only after regularly using the app for at least a few weeks. That's pretty much what I paid for Apollo Ultra Lifetime, after many months of regular use. Oh dear.
Release the app outside the store? Fuck apple and their monopoly abuse control system.