It uses OpenAI's realtime API to simulate either a tutoring session (the speaker will revert to English to help you) or a first date or business meeting (the speaker will always speak the target language)
You can see the AI's transcriptions but not your own, limitation of the current OpenAI API but definitely something I can fix.
The prompts are like this: https://gist.github.com/jc4p/d8b9d121425ec191d62602d8720eeed... and the rest of it is a Nextjs app wrapped around the WebRTC connection.
I'm not fully in love with the app so I'd love any feedback or hearing if it works well for you -- It doesn't have a lot of features yet (including saving context) and if you bump into the time limit just open it up in incognito to keep going.
I tried practicing some verb conjugations. The trainer displayed some fill-in-the-blank sentences like "she ... home after class", asking me to conjugate "to walk" in that sentence. However, the audio actually pronounced the full sentence "she walks home after class", giving away the answer.
This is not only an issue on websites but also on apps. For example, the Books and Podcasts apps on iOS show me both Dutch-speaking and French-speaking titles. I tried to raise this issue back when I worked at Apple but they only have 1 storefront per country and didn't feel like changing it.
Losing a cart is expensive, but it doesn't seem to happen at the scale that would make a full blown locking wheel solution cost effective.
Most supermarkets in Belgium use a coin but some supermarkets (notably Colruyt) lock their shopping cart wheels.
Supermarkets that have a step-less escalator (e.g. to go to the parking lot in the basement) also use these locking wheels to make sure the cart never moves on the escalator. I live near an Albert Heijn that has these.