1. Introduction and goals¶
Last reviewed: 2026-11-03
What the system is for, who it serves, and the few quality goals that matter most.
What SailEver is¶
SailEver records sailing on the wrist and turns the recordings into an online logbook. A watch app (Garmin, Wear OS, later Apple Watch) records tracks offline on deck; the server stores them, computes trips, days and statistics, and shows them on a website with maps, sharing and replay.
Requirements overview¶
| # | Requirement | Behaviour |
|---|---|---|
| R1 | Record a sailing track on the wrist, fully offline | recording |
| R2 | Show live sailing values: speed, course, state, tides, pressure, alerts | dashboard, environment |
| R3 | Pair a watch with an account and upload tracks, only after consent | sync-and-pairing, track-sync |
| R4 | Turn tracks into trips, days and statistics in an online logbook | ingestion, logbook |
| R5 | Import FIT and GPX files and edit tracks (trim, names, engine) | track-editor |
| R6 | Share a trip by link, bring in crew, replay it on the map | sharing, trip-replay |
| R7 | A public skipper profile | profile |
| R8 | Every user can erase their account with all data | privacy |
Products¶
| Product | Stack | Behaviour |
|---|---|---|
| WatchApp: Garmin, Wear OS, Apple Watch (not built) | Monkey C, Kotlin / Compose for Wear OS, Swift | specs/watchapp |
| DataField: Garmin | Monkey C | specs/datafield |
| Server: website, logbook, watch API | Ruby, Rails, PostgreSQL, Hotwire | specs/server |
| Phone apps, iOS / Android (not built) | specs/mobile |
The watch apps are one product on several platforms. They implement the same spec.
Stakeholders¶
| Who | Cares about |
|---|---|
| Skippers (users) | Recordings that are never lost, a logbook they trust, privacy of their trips |
| Crew and people with a public link | Seeing a trip without an account, only what was shared |
| Owner | Cost of the beta, deployability, a codebase that stays in step with its specs |
| AI agents working in the repo | Specs and rules that say what to do and when it is done |
To confirm with the owner: charter companies and other partners (SDK, client apps), support.
Quality goals¶
The top five of the seven goals in section 10, in the order they win when goals collide. Scenarios and measures are there.
| # | Goal | In one sentence |
|---|---|---|
| Q1 | Privacy by consent | Nothing leaves the watch before Yes; every user can erase everything |
| Q2 | Never lose a track | A recording survives offline use, crashes and repeated or out-of-order uploads |
| Q3 | Access safety | A user sees only their own and shared data |
| Q4 | Trustworthy numbers | Derived values come from stored points; guesses are suggestions |
| Q5 | Parity across watches | Garmin and Wear OS behave the same, or the gap is written down |
Also in section 10: Q6 fast maps and trip pages, Q7 low running cost.