{"slug": "show-hn-excuse-my-french-a-french-learning-exercise-generator", "title": "Show HN: Excuse My French – a French-learning exercise generator", "summary": "Excuse My French, a French-learning exercise generator built on rule-based sentence generation, has been relaunched with an improved UI and new features including flashcards, dictation, and progress tracking. The tool, available at excusemyfrench.org, was originally created in 2018 by developer Celebio for his wife and now leverages AI coding tools for development while keeping its deterministic grammar transformation core. The project is open-sourced on GitHub.", "body_md": "hi HN! Many years ago (in 2018) I wrote a simple French-learning exercise generator in Javascript for my wife. I was looking for a way to generate as many exercises as possible for her to practice. The idea was being able to generate a huge combination of sentences and being able to transform them deterministically based on French grammar rules. The generation and transformation is rule-based (no LLMs back then).\n\nFor example, we generate (using rule-based) :\n\n> Je mange une pomme\n\nthen we ask the engine to transform it to past and replace the pronoun:\n\n> Je l'ai mangée\n\nThen we compare with the user's answer.\n\nI recently picked the project back up, thanks to AI coding tools and some free time I improved the UI, added more conventional bits (flashcards, dictation, progress tracking, etc). I kept the core of it: the rule-based sentence generator, because it allows to generate extremely fast locally and in a controlled way.\n\nI pushed this new version on the same repository : [https://github.com/Celebio/excuse-my-french](https://github.com/Celebio/excuse-my-french)\n\nYou can directly use the app here: [https://excusemyfrench.org/](https://excusemyfrench.org/)\n\nI hope you'll find it useful too. Very curious about your feedback, specially the onboarding part!\n\nComments URL: [https://news.ycombinator.com/item?id=49376376](https://news.ycombinator.com/item?id=49376376)\n\nPoints: 2\n\n# Comments: 0", "url": "https://wpnews.pro/news/show-hn-excuse-my-french-a-french-learning-exercise-generator", "canonical_source": "https://excusemyfrench.org/", "published_at": "2026-08-20 15:54:50+00:00", "updated_at": "2026-08-20 16:17:25.184553+00:00", "lang": "en", "topics": ["ai-tools"], "entities": ["Celebio", "Excuse My French", "GitHub", "excusemyfrench.org"], "alternates": {"html": "https://wpnews.pro/news/show-hn-excuse-my-french-a-french-learning-exercise-generator", "markdown": "https://wpnews.pro/news/show-hn-excuse-my-french-a-french-learning-exercise-generator.md", "text": "https://wpnews.pro/news/show-hn-excuse-my-french-a-french-learning-exercise-generator.txt", "jsonld": "https://wpnews.pro/news/show-hn-excuse-my-french-a-french-learning-exercise-generator.jsonld"}}