Client: Resolute Maritime
Built RMS, a custom maritime CRM and intelligence platform for Resolute Maritime — replacing a single-user Excel workbook with a relational data model spanning vessels, companies, shipyards, and inquiries, enriched with live Marine Traffic positions, fleet registry verification, and Microsoft 365 integration. Multi-year platform build, ongoing.
RMS is the kind of system you can't buy — only build. When an operating team has outgrown its spreadsheet, the answer is rarely another generic SaaS subscription. It's a platform that codifies the team's hard-won operational logic into software, and then keeps adding intelligence on top of that foundation.
Resolute connects shipowners with shipyards globally for dry-docking, surveys, and repair work. Their commercial advantage depends on an unglamorous capability: knowing which vessel needs which yard, when, and being able to quote it credibly.
Most of the data that powers those decisions sits in proprietary maritime sources that don't talk to each other — Marine Traffic vessel positions, public fleet registry records, classification-society renewal cycles, dry-dock schedules across yards in four continents. Stitching that picture together used to be a manual job.
Resolute had been running its entire commercial operation out of a single Excel file. Multiple sheets — vessels, companies, contacts, shipyards, ports, inquiries, prospects, campaigns, templates — all interlocking through manual lookups. By the time we were called in, the workbook took roughly twenty minutes just to open, and producing a single weekly report consumed almost two full workdays of someone's time stitching pivots together by hand. The cost of that approach compounded with every new vessel they tracked.
The fix wasn't another off-the-shelf CRM. Salesforce and HubSpot don't model vessels. They don't integrate with Marine Traffic or public fleet registries. They don't understand that a "lead" in ship repair is a 250-metre bulk carrier needing to be in a Mediterranean dry dock within twenty-four months, with a build year that triggers a five-year survey rule, currently steaming toward Singapore.
Resolute needed a platform that spoke maritime natively.
We treated RMS not as a one-off CRM build but as a long-term intelligence platform.
Mirror the team's mental model first, optimise second. The Excel sheets reflected a real operational logic. We rebuilt that logic in a relational schema before adding new capability — so the team's existing playbooks transferred with zero retraining.
Bring the data to the user, not the user to the data. Marine Traffic, public fleet registries, Google News, OneDrive, and Outlook all became part of RMS rather than separate browser tabs. Inquiries can be created from an email in a click. Vessel positions update on a cron. Compliance status is computed continuously instead of checked manually.
Build for extension. Resolute didn't ask for eighteen modules on day one — they asked for a platform that replaced their Excel. Every architectural decision in the first build assumed RMS would keep growing: a relational schema flexible enough to absorb new entities, materialised views and Redis caching ready for heavier read patterns, Socket.IO for real-time sync, and a modular controller architecture so new modules could be added without rewriting old ones. The cost of that decision was paid upfront. The reward has compounded across every module added since.
Core CRM modules unify vessels, companies, contacts, shipyards, ports, inquiries, repair prospects, campaigns, and templates into a single relational data model — replacing every sheet in the original Excel and adding capabilities Excel could never have.
A maritime intelligence layer brings Marine Traffic vessel positions and 12-month voyage history, public fleet registry verification with status tracking, auto-calculated next-renewal-date logic that applies the maritime five-year rule when data is missing, and an hourly Google News feed per company.
The Repair Prospects engine is a strategic marketing tool that surfaces vessels likely to need dry-dock services in the next 24 months. It filters by yard, dock size, and geographic trading area, and distinguishes current leads (vessels currently in a yard's trading area) from historical leads, with scoring logic configurable per shipyard.
Microsoft ecosystem integration covers OneDrive document management with a smart Inquiries/{Company}/{Vessel} folder structure, an Outlook add-in for creating inquiries directly from emails, and Azure AD / MSAL for enterprise SSO and multi-factor authentication.
An operations control centre gives real-time visibility into background services and lets the team trigger manual operations — dry-dock-date sync, classification-society cleanup, Marine Traffic validation, fleet check, news refresh. Yard-specific lead-scoring tiers are customised for ASRY (Bahrain), Lisnave (Portugal), Dakarnave (Senegal), and the major Turkish yards. Reporting is interactive (Chart.js, ECharts), exportable to Word, Excel, PDF, and email.
For Resolute, the foundation is now in place — and the eighteen modules built on top of it are the evidence.
Let's discuss how we can build something great together.