Algoace

Work / Vigisea

Vigisea

Industry
Maritime, superyachts
Service lines
Mobile app engineering, Backend engineering, Cloud infrastructure
Stack
React Native, TypeScript, NestJS, PostgreSQL, AWS (ECS, Cognito, SQS, S3, WAF), Terraform, Stripe
Engagement
Since December 2025
Vigisea banner

The Situation

On a yacht, crew walk set security and safety rounds through the vessel day and night: bridge, engine room, decks and safety equipment. Owners and officers had no reliable proof that rounds actually happened on time. The client wanted crew to scan an NFC tag at each checkpoint, give officers live progress and a safety score for every round, and let new vessels sign up and pay online.

The Constraint

Vessels spend long stretches at sea with weak or no internet, so the app couldn’t depend on a connection. A scan had to count only if the right person tapped the right tag inside the right time window, in the vessel’s own time zone. Reminders and scores had to run on time across many vessels without slowing the app. Pricing depended on the vessel’s real length, which had to come from a trusted source and not from what a customer typed.

What we did

We built the iOS and Android app, the backend and the AWS infrastructure.

Offline first: when there’s no signal, scans and completed rounds are saved on the phone and sent automatically once the connection returns, with any photos uploaded first. Crew can keep working offline for up to 48 hours.

Scans that can be trusted: the server checks every tap against the route, the crew member’s schedule and the round’s time window, allowing up to five minutes early. Duplicate taps are ignored, and each scan with its progress updates is saved all at once or not at all.

Safety scores: every round is scored out of 100. Up to 70 points come from checkpoints reached and up to 30 from starting on time. A crew member who reaches a checkpoint and reports a broken tag still gets credit, because they did their job.

Three separate services: the API, a notification worker and a scheduler run independently. Push notifications and scheduled jobs never slow the app, and database locks make sure each round is scored exactly once.

Pricing from verified data: the monthly price is based on the vessel’s registered length, looked up by its IMO number. Every lookup costs money, so results are stored in the database and each vessel is looked up only once.

Payments and onboarding: Stripe checkout and webhooks run the subscriptions, and new vessels can order a hardware Bridge Kit that ships to their address.

Infrastructure: AWS ECS behind a web application firewall, built with Terraform, with tracing, metrics and logs in Grafana.

vigisea-what-we-did-banner-1
vigisea-what-we-did-banner-2
vigisea-what-we-did-banner-3

The trade-off

Because reporting a broken tag still counts as reaching it, a round where every tag was reported broken scores the same 100 as a perfect round. We kept it that way because the score measures whether crew did the round, not whether the hardware works. Tag problems still show up for officers, through tag issue reports and the round’s failed-tag count.

Outcome

MetricValueSourceDate
Built by AlgoaceMobile app, backend, AWS infrastructureDelivery recordsDec 2025 to Oct 2026
Offline working windowUp to 48 hoursApp sourceOct 2026
Scheduled jobs6 (reminders, summaries, scoring, missed rounds, onboarding)Backend sourceOct 2026
Languages5 (EN, FR, DE, ES, NL)App sourceOct 2026
Commits across all three reposAbout 1,580Repository historyDec 2025 to Oct 2026
Live versionsiOS 1.7.9 · Android 1.0.15Release recordsOct 2026
Vessels using VigiSea10 +--

Ready when the work has to be right the first time.

A 30-minute scoping call with a senior engineer, designer or growth lead. You will leave with a written view of scope, risks and a realistic timeline, whether or not you hire us.

12 years40+ shipped products6 industries
Karachi and Sharjah