<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Shindo engineering notes</title>
    <link>https://shindo-app.com/blog/</link>
    <atom:link href="https://shindo-app.com/blog/rss.xml" rel="self" type="application/rss+xml" />
    <description>How Shindo is built — bounding a language model, keeping training data correct, and why every number comes from an engine.</description>
    <language>en</language>
    <item>
      <title>We let a language model write training plans — then built a validator to tell it no</title>
      <link>https://shindo-app.com/blog/a-validator-that-tells-the-model-no/</link>
      <guid isPermaLink="true">https://shindo-app.com/blog/a-validator-that-tells-the-model-no/</guid>
      <description>Shindo lets an AI model propose a whole seven-day training week, and a 19-rule validator decides whether that week may stand. Nineteen rules, fifteen of them fatal, none of them inventing any training science of their own. Here is what it took to make that safe.</description>
      <pubDate>Sat, 29 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>One ride, two rows: the duplicate-workout problem in Apple Health</title>
      <link>https://shindo-app.com/blog/one-ride-two-rows/</link>
      <guid isPermaLink="true">https://shindo-app.com/blog/one-ride-two-rows/</guid>
      <description>Apple Health can hold the same workout twice, because more than one app wrote it. Any app that sums training load from Health will then double that day — and quietly corrupt fitness, fatigue and form for weeks. Here is the rule Shindo uses to decide that two rows are one session.</description>
      <pubDate>Sat, 29 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Why the AI in your training app should never do the maths</title>
      <link>https://shindo-app.com/blog/why-the-ai-should-never-do-the-maths/</link>
      <guid isPermaLink="true">https://shindo-app.com/blog/why-the-ai-should-never-do-the-maths/</guid>
      <description>A language model that restates your heart-rate variability will eventually restate it wrong. Shindo computes every number deterministically and gives the model only sentences to write — enforced at runtime by a guardrail that overwrites any figure that drifted. This is how it works, and how being too strict about it nearly killed the feature.</description>
      <pubDate>Sat, 29 Aug 2026 00:00:00 GMT</pubDate>
    </item>
  </channel>
</rss>
