Built for the bridge, the mess deck, and the shore office.
SeaDrillMate is one app with three different jobs to do — running a challenge, practicing between watches, and proving the fleet is actually trained. Here's what each looks like.

Run it without it becoming an admin job.
Everything needed to publish, chase, and close a challenge without a spreadsheet on the side.
- Active challenge card: submitted/pending crew lists, live progress bar, time remaining
- Nudge one straggler or everyone pending — a built-in cooldown keeps it from turning into spam
- Action-required strip: unresolved ties, unclaimed rewards, challenges past deadline
- Close early or let it auto-close — scoring, ranking, and tie detection happen server-side
- Quick-create, including duplicating a past challenge
- AI Quiz Assistant drafts five questions and a training infographic from your notes in under a minute

The fleet-wide view an auditor actually asks for.
Everything the office needs to spot a gap before it becomes a finding.
- Fleet KPI strip: average score, flagged vessels, participation, and challenges run in the last 30 days, with trend
- An attention list flags a vessel automatically — no challenge in 30 days, any topic under 60%, participation under 50%, or coverage gaps
- Message a Captain directly, or suggest a challenge — it lands as a draft only that Captain can publish, never run by the office
- Fleet matrix drills into any vessel's own crew matrix, read-only

Practice that feels worth doing.
Self-training that crew actually come back to, without a Captain having to ask.
- Unlimited self-training quizzes with instant right-or-wrong feedback and a one-line explanation
- Share a practice quiz to the vessel library, or keep it private
- My Progress: score trend, per-topic averages, and a nudge toward whichever topic needs work
- Six badges to chase, from a first attempt to a seven-day streak
- Full attempt history, with every past answer reviewable
Works when the signal doesn't.
Practice is fully offline-first: saved locally and synced through an outbox the moment a connection returns. Publishing or closing a challenge needs connectivity, because scoring has to be server-authoritative and fair to every competitor at once. A subscription's status stays cached for up to 14 days without a connection, so a short outage never locks anyone out.
Data stays inside your company and vessel.
Row-level isolation
Access is scoped to your company and vessel at the database level — one vessel can never see another's data.
Encrypted in transit
TLS everywhere, on the app, the website, and every server-side function in between.
Card data never touches us
Stripe handles payment details directly — we never receive or store a full card number.
AI, kept on a leash
Generation runs server-side only, Captain-gated, rate-limited, and called with store: false.
Full detail in the Privacy Policy.
Start a 30-day pilot on one vessel.
No card required. Full access. We provision it by hand within one business day.