This build
What is real, what is scripted.
This is a working prototype of the PLAY CORE app, built as static HTML so it opens on any laptop without a server or internet. It exists to prove the coaching workflow, the content structure, the bilingual content, the archive, the shared image and the tablet layout before a line of Flutter is written.
Real
- The workflow. Language → sport → field → observation → learning problem → skills → training → dials → repeat → NODE REPLAY → note → save. Every step is wired; back always works; forward needs a selection.
- The content structure. 48 observations, 36 skills, 48 training cards, 10 LED dials with corrections, four sports, six fields, in German and English. Every relationship the brief describes (1 primary + 4 secondary skills, main + alternative training) is enforced by the data, and a script validates it the way the import pipeline will.
- Persistence. Protocols are stored on the device (browser storage stands in for SQLite) and survive restarts. Delete asks first. The demo can be reset from the prototype bar.
- The shared image. The protocol is genuinely rendered to a PNG (2160 px wide) and can be saved. The share sheet lists WhatsApp, Signal, email and files; on a phone the native sheet takes over.
- Content versioning. Every protocol carries the content-data version and app version it was written with; older ones show it.
- Offline. Nothing here makes a network request. Fonts, icons and images are local.
- Tablet. A landscape layout with list and detail side by side, reading the same store as the phone.
Scripted or standing in
- The content itself. Authored by us in the PLAY CORE style from the eleven mockups, because the Excel workbook was not yet supplied. Floorball has five observations per field; the other sports have one per field. 48 of 54 — the content check screen says exactly that. The workbook replaces all of it as data, not code.
- The import pipeline. Shown as its result — the validation report on the content screen — not as a running importer. The production build parses the workbook, validates structure and relationships, and writes SQLite.
- The share targets. Tapping WhatsApp or Signal raises a message saying what would happen. Saving the image is real.
- The logo. A redraw of the sport lab mark for the prototype. The real asset drops in.
- Photography. Creative-commons images from Wikimedia Commons on the landing page only, credited in the folder. The app itself uses no photography, as the mockups do not.
- One refinement to the mockups. Buttons carry navy text on orange (5.7:1) instead of white on orange (2.9:1), so they read in hall light. Same brand.
What the production build changes
| Here | In production |
|---|---|
| Static HTML, CSS and JavaScript | Flutter, one codebase for Android, iOS and iPadOS; smartphone portrait first, tablet portrait and landscape |
| Browser storage | SQLite: Sports, Languages, Domains, Observations, Learning Problems, Skills, Training Cards, LED Dials, Protocols, Ratings, Content Versions |
| data.js, validated by a script | Excel import with structural and relationship validation: duplicates, missing translations, broken references, skill and training assignments, LED relationships, sport/field mapping |
| Canvas-rendered PNG + share sheet mock-up | Native rendering and the Android/iOS share sheet |
| Manual walkthrough | Automated tests for import, validation, mapping, protocol CRUD, filters, ratings, versioning and offline behaviour on four device classes |
| This page | Technical documentation and German/English user documentation, installable test builds, production builds, source handover |
Out of scope, as the brief states: AI error detection, video, player tracking, computer vision, backend or cloud sync, accounts, a web admin portal, a direct WhatsApp API, protocol import, multi-coach collaboration, editing the methodology.
What we need from sport lab
- The Excel workbook — all 54 observations, so the import can be built against the real structure.
- The logo files and any brand guide beyond navy, orange and cyan.
- A read of our German content by a coach who uses the method, before it is replaced by the workbook — it tells us whether the register is right.
- The list of target devices and minimum OS versions for the test builds.
- Whether the NODE REPLAY symbols in the brief (two ○) should be + and – as we have assumed.