NOUVEAUYskorr arrive sur iOS et Android

Yskorr.

Tu t’entraînes.
Yskorr suit.

Le WOD est au tableau. Yskorr le lit, lance le bon chrono et garde chaque séance, semaine après semaine — WOD de box, sim Hyrox ou run.

yskorr.app Bientôt sur iOS & Android
Rôle
Produit maison — design, développement, backend, publication
Plateformes
iOS · Android · watchOS · Web
Année
2026
Statut
v0.13.0 — bientôt sur les stores
Captures réelles — iOS 26 · Android
Accueil de Yskorr en thème sombre : « Salut Alex. », la carte Ton WOD (scanner, dicter ou saisir), Timer libre et Run.
Séance · iOS
Accueil de Yskorr sur Android, en thème sombre.
Séance · Android
Écran Timer libre de Yskorr : « Choisis ton format », avec sim hybride, chrono simple, for time, AMRAP, EMOM et Tabata.
Timer libre
Onglet Stats de Yskorr : séances de la semaine, histogramme sur 8 semaines, kilomètres de course sur 12 semaines.
Stats
Lire le WOD

Le bon modèle pour chaque source.

Une photo de tableau blanc n’est pas une dictée. Chaque source passe par le modèle le plus juste, puis par un schéma strict : l’app reçoit toujours une séance structurée.

photo
Claude Sonnet 5, retenu après une évaluation sur 23 photos de tableaux.
texte · dictée
Claude Haiku 4.5 : équivalent sur nos cas, environ trois fois moins cher.
garde-fou
Un premier passage vérifie que l’image est bien un WOD.
cache
Versionné (pipeline v8) : un changement de prompt invalide les anciens résultats.
emit_workout → réponse
json
entrée · photo du tableau« AMRAP 12 — 12 wall balls 9 kg, 9 toes to bar »
{
  "is_workout": true,
  "title": "AMRAP 12",
  "parts": [
    {
      "label": null,
      "format": "AMRAP",
      "timeCapSec": 720,
      "rounds": null,
      "tabata": null,
      "stations": null,
      "movements": [
        { "name": "Wall balls", "slug": "wall-balls",
          "reps": "12 reps", "load": "9 kg" },
        { "name": "Toes to bar", "slug": "toes-to-bar",
          "reps": "9 reps", "load": null }
      ]
    }
  ]
}
Dans l’app

Des détails qui comptent.

Suivi d’un mouvement (thruster) : meilleur temps observé, médiane, dernier mesuré et courbe des derniers passages pour une prescription donnée.

Progression par mouvement

Meilleur observé, médiane, dernier mesuré : chaque prescription a sa courbe, séance après séance.

Fiche technique du thruster : démonstration vidéo et muscles sollicités de face et de dos.

Fiches techniques

Le geste en vidéo et les muscles sollicités, de face et de dos, pour chaque mouvement du catalogue.

Pour les salles

Un portail pour les coachs.

Les coachs publient la programmation depuis le web ; le WOD du jour apparaît dans l’app de leurs membres, prêt à lancer.

  • programmation
  • membres
  • résultats
  • exports
  • abonnement
next.js 16 · même backend que l’app
Accueil d’un membre de salle : le WOD de la salle du jour, prêt à lancer, au-dessus des accès Ton WOD, Timer libre et Run.
Côté membre · app
Architecture

Une app, cinq surfaces, un seul backend.

SURFACES
  • iPhone
  • Apple Watch
  • Widgets
  • Android
  • Portail salles
Supabasepostgres · rls · auth · storage
Edge Functions × 21deno · parse-workout, webhooks
SERVICES
  • Claude API
  • RevenueCat
  • Garmin
  • Expo Push
  • Resend
surfaces — iPhone, Android, Apple Watch, widgets, portail
5
edge functions — Deno, côté serveur
21
migrations SQL — un schéma versionné
84
fichiers Swift — montre et widgets
45
Mobile
  • Expo SDK 55
  • React Native 0.83
  • Expo Router
  • Reanimated 4
Natif Apple
  • SwiftUI
  • WidgetKit · ActivityKit
  • WatchConnectivity
  • HealthKit
Web
  • Next.js 16
  • React 19
  • Tailwind 4
Backend
  • Supabase
  • Postgres · RLS
  • Deno
Services
  • Claude API
  • RevenueCat
  • Sentry
  • Expo Push · Resend
Outillage
  • TypeScript
  • Biome · Husky
  • EAS Build
Et vous ?

Une app en tête ?

On l’a fait pour nous, on peut le faire pour vous : du cadrage à la publication sur les stores.