love this as someone who's been fixing the same billing bugs over and over and who sometimes finds stripe more complex than it should be. will make sure to try this on my next adventure.
btw, if you still want to go directly with stripe, here are some general recommendations/notes I generally agree with:
Thank you! We try and take case of most of these bugs and edge cases. I think the ones that have been most useful are:
1. Race conditions. There are some weird conditions to handle around if a user makes it back to your app post-payment before the webhook, or if they click twice on a purchase button accidentally.
2. Keeping usage reset cycles in sync with billing cycles. We had a bunch of weird cases to solve in February as it's a shorter month.
3. Handling annual plans that have monthly usage billing cycles. Or just handling anything to do with transitioning between annual and yearly billing.
Theo's approach is awesome and a very similar architecture to what we have.
Correct, though pretty much anything end-user facing is latency-sensitive, voice is a tiny percentage. No one likes waiting, the involvement of an LLM doesn't change this from a user PoV.
I wonder if you can hide the latency, especially for voice?
What I have in mind is to start the voice response with a non-thinking model, say a sentence or two in a fraction of a second. That will take the voice model a few seconds to read out. In that time, you use a thinking model to start working on the next part of the response?
In a sense, very similar to how everyone knows to stall in an interview by starting with 'this is a very good question...', and using that time to think some more.
I'm still using Next.js in my work and projects because I still think it may be the best way to ship React to production, but it used to be something fun, enjoyable and productive. sometimes I feel a bit sad about the direction it's going in since the move from pages to the app router.
The best way to ship React to production is with Vite. It opens up tons of options (Tanstack, RR, Simple SPA, whatever) and you don't even bring the hosting provider into the discussion.
This - I spent quite some time fighting the new Next.js conventions not working for me making a legit web app instead of traditional site, switched to vite and was like yay, things work again and so fast. Normally I am all about embracing the framework, but kept thinking for what was happening I could use PHP instead and host anywhere.
With Italian, it starts reading the text with an absolutely comical American accent, but then about 10-20 words in it gradually snaps into a natural Italian pronunciation and it sounds fantastic from that point on. Not sure what's going on behind the scenes, but it sounds like it starts with an en-us baseline and then somehow zones in on the one you specified. Using Alice.
For Portuguese, interestingly enough one of the voices (Liam) has a Spanish accent. Also, the language flag is from Portugal, but the style is clearly Brazilian Portuguese.
looks like the keyboard doesn’t work that well on mobile though (iOS). You need to press the keys below the key you want to type (eg if I want to type a T, I need to press G for it to work)
Ugh I've run into this issue as a developer before, IIRC it was something about the height of the bottom browser bar not being considered in touch targets. I think I was using the Canvas API when I hit it