Infinite Grammar

    Building InfiniteGrammar.de

    Technical articles about the product decisions, generation pipelines, and infrastructure behind a German grammar learning platform.

    Exercise Generation AI Pipeline Analysis

    For every 100 exercises generated, only 41 end up usable. That number emerged from three consecutive generation batches. The exercises that survive are good. The process to get there is expensive in content, not in cost.

    Read article →

    SEO Postmortem

    SEO is not a content problem first. It is a rendering, routing, and deployment problem. A plain React SPA is not SEO-ready by default — here is what went wrong and what I would do differently.

    Read article →

    The Tech Stack Behind InfiniteGrammar.de

    A breakdown of the technologies used across the learner-facing app, admin dashboard, content generation pipeline, and similarity analysis system — and what I would probably do differently.

    Read article →

    Email Campaign for User Engagement

    The product is organised around narrow grammar sections rather than broad lessons. That changes the retention logic. The campaign system is section-based — every completion event can create or update one schedule for one user and one grammar section.

    Read article →

    Sequencing Exercises for an Optimal Learning Path

    Even a reasonably diverse section can feel repetitive if similar exercises appear back to back. A learner does not experience the corpus as a similarity matrix. A learner experiences it as a sequence.

    Read article →

    Exercises Similarity Calculation on Vast.ai

    Once the similarity pipeline became part of the operating routine, local execution stopped being attractive. A cheap remote CPU instance proved to be a better place for this than a laptop.

    Read article →

    Measuring Exercises Similarity

    After a grammar section contains enough material, a new question appears. Are these genuinely different exercises, or just many versions of the same one? Off-the-shelf sentence embeddings were not especially useful here.

    Read article →

    Generating Exercises in Batches

    The interesting part of the generation pipeline is not only the prompt. It is the operating model around the prompt — throughput, resumability, and cost discipline.

    Read article →

    Good Gap-Fill Exercises Need Better Wrong Answers

    A grammar gap-fill exercise looks deceptively simple. A short text, a few blanks, four options per blank. But what separates a useful exercise from a weak one is usually the quality of the wrong answers.

    Read article →

    Why InfiniteGrammar.de Started with Exam-Driven Grammar Demand

    The real question was not "How do I build a German learning app?" It was: where is there a repeated, high-stakes need for much more grammar practice than the market usually provides?

    Read article →