Hacker Newsnew | past | comments | ask | show | jobs | submit | ayushrodrigues's commentslogin

congrats on the launch Arlan! Nia is a lifesaver when we're coding :)

This is the most fun I've had on the internet in a long time.


I've been interested in a tool like this for a while. I currently have tried whisprflow and aqua voice but wanted to use my API key and store more context locally. How does all the data get stored and how can I access it?


The data is currently stored in IndexedDB, and you can currently only access it through the user interface (or digging into system files). However, I'm hoping in future updates, all of the transcriptions will instead be stored as markdown files in your local file system. More on that later!


Ah shame we missed you! Glad to hear it resonates :)


Adapty looks cool! Kind of similar to Revenuecat?

I think the offering is similar -- both manage entitlements and paywalls. And while we do have a proportion of users that use us for mobile apps we're pretty focused on SaaS / web.

I can imagine Adapty would go deeper on features like AB testing, paywall designing etc

Our users handle lower volume of subscriptions but require more flexibility and depth on the pricing models they want to support.


Yep a RevenueCat competitor essentially. Makes sense to focus on web, seems like it's using pure TypeScript, is it mainly for the backend, or for the frontend?


We have react hooks so we try and make the majority of the integration lift on the frontend. One of our contributors is helping us launch a python SDK soon too !


Thanks Eric!


We are pretty tightly coupled with Auth. Part of setting it up is resolving your internal customer (or org) ID from your auth JWT and passing it into an autumnHandler function, which then makes calls to the Autumn API.

This means you don't need to store any additional IDs for billing -- just make calls to Autumn with your exiting auth uuids.


Updating credit card: - We have an openBillingPortal() function that when called, will redirect a user to the Stripe billing portal where they can update their card info. If it's a valid card, we allow the change and keep the customer in an active subscription state.

Past invoices: - We have a GET /customer method that returns all billing related information on a user. This includes their current plans, features and balances they have available, and can take in an expand?=invoices param that will return all past invoice data for you to display.

Users can also see invoice history in the Stripe billing portal mentioned above.


Nice to hear that word is starting to spread :) and happy to help when you come to integrate!


Ah yes, we're still entirely built on Stripe, so all your chargeback management, tax handling, subscriptions and payments are still handled by them! We are not a Stripe replacement.

When our users integrate Autumn, they don't need to handle the state syncing or any Stripe events, as we do all of that for them.

Eg, one of your users, John, subscribes to a Pro tier. We'll listen to that event from Stripe, and grant them access to the right features (eg premium analytics and 100 messages).

From your app, you just query Autumn to ask "does John have access to send messages?", and Autumn says "yes".

When the John's payment fails, we again handle that event from Stripe. Now when your app asks whether John has messages, Autumn says "no, their payment failed".

When you log into Stripe, you can still see everything as normal, and take actions as you normally would!

Edit: now that I'm writing this comment, I realize that we probably should be listening to the chargeback event so we can block access to features if that happens. We'll definitely handle this case, it's just that no one has needed it so far...


Huh, weird. I don't think I have ever wanted to login to Stripe and take manual actions. Usually I hook up Stripe events to actions in my applications, like "The user subscribed, wire them up to the drip lifecycle" or "The user unsubscribed, remove them from a certain marketing list and try to schedule an exit interview" or other hook-ups.


Ah yes. Interestingly most of our users don't set this up in the early stage. But for the ones that do, they need webhooks for this. We have a single webhook that fires whenever a customer's state is updated (eg subscription started, cancelled, downgraded, expired) etc, that the downstream functions you talk about rely on.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: