<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>TrainUs</title><link>https://kaivalya.eu/projects/trainUs/en/</link><description>Recent content on TrainUs</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Tue, 21 Jul 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://kaivalya.eu/projects/trainUs/en/index.xml" rel="self" type="application/rss+xml"/><item><title>Getting Started</title><link>https://kaivalya.eu/projects/trainUs/en/developers/getting-started/</link><pubDate>Tue, 16 Jun 2026 00:00:00 +0000</pubDate><guid>https://kaivalya.eu/projects/trainUs/en/developers/getting-started/</guid><description>What You&amp;rsquo;ll Need Node.js ≥ 18 Python ≥ 3.10 (only needed to run the test suite) A modern browser — Firefox 111+, Chrome 102+, or Safari 16.4+. TrainUs relies on OPFS (Origin Private File System) for its database, which doesn&amp;rsquo;t exist in older browsers or in private/incognito windows. Clone and Install git clone &amp;lt;repo-url&amp;gt; cd trainUs npm install Run the App npm run dev This starts the Vite dev server at http://localhost:5173.</description></item><item><title>Getting Started</title><link>https://kaivalya.eu/projects/trainUs/en/docs/getting-started/</link><pubDate>Tue, 16 Jun 2026 00:00:00 +0000</pubDate><guid>https://kaivalya.eu/projects/trainUs/en/docs/getting-started/</guid><description>What is TrainUs? TrainUs is a training-tracking application. You create exercises, group them into combos (crossfit-style sequences, timed or not), then into sessions. Sessions can in turn be organized into collections — a multi-week program, for example.
When it&amp;rsquo;s time to train, you launch a session in Execution Mode: the app guides you step by step, with a timer for timed combos, and keeps a record of everything you actually did (reps, weight, duration) so you can track your progress in the statistics.</description></item><item><title>How-to Guides</title><link>https://kaivalya.eu/projects/trainUs/en/developers/how-to-guides/</link><pubDate>Tue, 16 Jun 2026 00:00:00 +0000</pubDate><guid>https://kaivalya.eu/projects/trainUs/en/developers/how-to-guides/</guid><description>Add a New Language TrainUs already ships three languages today — English, French, and Danish (da) — not just the EN/FR pair the project website emphasizes. The steps below walk through adding one more, using Spanish (es) as the worked example.
Adding a language requires four touch points: a new locale file, wiring it into the i18n initializer, a selector option in Settings, and a decision-log entry.
src/i18n/locales/&amp;lt;code&amp;gt;.json — create the translation file src/i18n/index.</description></item><item><title>How-to Guides</title><link>https://kaivalya.eu/projects/trainUs/en/docs/how-to-guides/</link><pubDate>Tue, 16 Jun 2026 00:00:00 +0000</pubDate><guid>https://kaivalya.eu/projects/trainUs/en/docs/how-to-guides/</guid><description>Install TrainUs as an App on Android TrainUs is a Progressive Web App (PWA): it installs as a real app on your phone, with its own home screen icon, and runs without the browser&amp;rsquo;s navigation bar.
Important: if TrainUs is already open in a browser tab, the installed app may not launch correctly — the browser and the installed app conflict with each other. Close the browser tab first before launching the installed app.</description></item><item><title>Reference</title><link>https://kaivalya.eu/projects/trainUs/en/developers/technical/</link><pubDate>Tue, 16 Jun 2026 00:00:00 +0000</pubDate><guid>https://kaivalya.eu/projects/trainUs/en/developers/technical/</guid><description>This page describes every part of TrainUs in detail: tech stack, schema, routes, composables. For a guided first run, see Getting Started; for concrete tasks, see How-to Guides; for the &amp;ldquo;why&amp;rdquo; behind the choices, see Understanding the Architecture.
AI authorship. The vast majority of the source code in this project was written by AI assistants (primarily Claude). The human author directed the architecture, reviewed every change, guided the implementation, and made all design and product decisions — but in terms of who typed the lines, that credit belongs mostly to the AI.</description></item><item><title>Reference</title><link>https://kaivalya.eu/projects/trainUs/en/docs/user-guide/</link><pubDate>Tue, 16 Jun 2026 00:00:00 +0000</pubDate><guid>https://kaivalya.eu/projects/trainUs/en/docs/user-guide/</guid><description>This page describes every TrainUs screen in detail: available actions, form fields, keyboard shortcuts. For a general introduction, see Getting Started; for the &amp;ldquo;why&amp;rdquo; behind the choices, see Understanding TrainUs.
First Launch The very first time you open TrainUs, a one-time warning modal explains two important constraints of the app:
One tab at a time — TrainUs can only be open in a single browser tab at once. Opening it in a second tab causes errors.</description></item><item><title>Understanding the Architecture</title><link>https://kaivalya.eu/projects/trainUs/en/developers/understanding-the-architecture/</link><pubDate>Tue, 16 Jun 2026 00:00:00 +0000</pubDate><guid>https://kaivalya.eu/projects/trainUs/en/developers/understanding-the-architecture/</guid><description>This page explains why TrainUs is built the way it is. For the facts — schema, routes, exact fields — see Reference.
Why No Backend? Many fitness apps run on an account and a central server. TrainUs makes the opposite choice: it&amp;rsquo;s a Progressive Web Application that runs entirely in the browser, with all data stored locally via SQLite WASM and OPFS. There&amp;rsquo;s no server to operate, no account system to build and secure, and the app keeps working — fully — with no network connection at all.</description></item><item><title>Understanding TrainUs</title><link>https://kaivalya.eu/projects/trainUs/en/docs/understanding-trainus/</link><pubDate>Tue, 16 Jun 2026 00:00:00 +0000</pubDate><guid>https://kaivalya.eu/projects/trainUs/en/docs/understanding-trainus/</guid><description>Why a Local App? Many fitness apps run on an account and a central server: convenient for syncing your devices, but it also means a third-party company hosts your data, and the app becomes unusable without a connection — or if the service shuts down one day.
TrainUs makes the opposite choice: everything runs in your browser, your data is stored locally, and nothing is ever sent to a server. This choice has a cost — no automatic sync or backup between devices — but that cost is covered by simple, manual solutions: see the How-to Guides for backup and sync.</description></item><item><title>AI: the method</title><link>https://kaivalya.eu/projects/trainUs/en/blog/2026-07-21-ia_methode/</link><pubDate>Tue, 21 Jul 2026 00:00:00 +0000</pubDate><guid>https://kaivalya.eu/projects/trainUs/en/blog/2026-07-21-ia_methode/</guid><description>In a previous article, I explained why I used AI so heavily to build TrainUs. Here, I&amp;rsquo;ll talk about the how.
Because yes, following a method helps! So I more or less adopted the usual method, really: a spec, a plan, rules (well, it&amp;rsquo;s more explicit with an AI), tests (vital here), and docs (for me, for it, for contributors, and for users).
Architecture I told you I&amp;rsquo;m the lazy type when it comes to architecture, but let&amp;rsquo;s be honest: the structuring decisions were mine, and made from the start.</description></item><item><title>Why use AI</title><link>https://kaivalya.eu/projects/trainUs/en/blog/2026-06-20-ia_pourquoi/</link><pubDate>Sat, 20 Jun 2026 00:00:00 +0000</pubDate><guid>https://kaivalya.eu/projects/trainUs/en/blog/2026-06-20-ia_pourquoi/</guid><description>I used AI massively to build TrainUs.
Given my background (a computer science engineer) and my professional experience (I worked as a developer), I have the technical skills needed to build this kind of application. My problem was never skills, or even ideas for an app: I&amp;rsquo;ve always had plenty of ideas for personal projects. My problems have always been time and motivation.
Lastly, in my professional field, I need to learn how to use these kinds of tools, and doing so on personal projects allows for a lot more experimentation than at work.</description></item><item><title>Launching the TrainUs website</title><link>https://kaivalya.eu/projects/trainUs/en/blog/2026-06-14-lancement/</link><pubDate>Sun, 14 Jun 2026 00:00:00 +0000</pubDate><guid>https://kaivalya.eu/projects/trainUs/en/blog/2026-06-14-lancement/</guid><description>Cet article est disponible en français : Lancement du site TrainUs
Today I&amp;rsquo;m publishing the documentation site for TrainUs, a fitness tracking app I&amp;rsquo;ve been building for the past few months.
What is TrainUs? TrainUs is a progressive web app (PWA) that runs entirely in the browser. There is no server, no account to create, no data sent anywhere. Everything is stored locally on your device using SQLite WASM and the OPFS API (Origin Private File System).</description></item><item><title>Contact</title><link>https://kaivalya.eu/projects/trainUs/en/contact/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://kaivalya.eu/projects/trainUs/en/contact/</guid><description>To report a bug, suggest an idea or contribute to the project, you can open an issue on the repository or send us an e-mail:
Enable JavaScript to display the e-mail address.</description></item></channel></rss>