Maritime Route Tracker – Cobalt Industrial
<div class="fp-maritime-shipping-live-map-tracker-ui">
<div class="fp-maritime-shipping-live-map-tracker-ui-stage">
<div class="fp-maritime-shipping-live-map-tracker-ui-bg"></div>
<div class="fp-maritime-shipping-live-map-tracker-ui-panel">
<div class="fp-maritime-shipping-live-map-tracker-ui-header">
<span class="fp-maritime-shipping-live-map-tracker-ui-title">Vessel: CRG-X7</span>
<span class="fp-maritime-shipping-live-map-tracker-ui-status" id="fp-maritime-shipping-live-map-tracker-ui-status">TRACKING</span>
</div>
<div class="fp-maritime-shipping-live-map-tracker-ui-screen">
<div class="fp-maritime-shipping-live-map-tracker-ui-radar-grid"></div>
<div class="fp-maritime-shipping-live-map-tracker-ui-crosshair"></div>
<svg class="fp-maritime-shipping-live-map-tracker-ui-svg" viewBox="0 0 100 100" preserveAspectRatio="none">
<path class="fp-maritime-shipping-live-map-tracker-ui-route-bg" d="M10,80 L35,25 L65,70 L90,15" />
<path class="fp-maritime-shipping-live-map-tracker-ui-route-active" id="fp-maritime-shipping-live-map-tracker-ui-path" d="M10,80 L35,25 L65,70 L90,15" />
<circle class="fp-maritime-shipping-live-map-tracker-ui-waypoint" cx="10" cy="80" r="2" />
<circle class="fp-maritime-shipping-live-map-tracker-ui-waypoint" cx="35" cy="25" r="1.5" />
<circle class="fp-maritime-shipping-live-map-tracker-ui-waypoint" cx="65" cy="70" r="1.5" />
<circle class="fp-maritime-shipping-live-map-tracker-ui-waypoint" cx="90" cy="15" r="2" />
</svg>
<div class="fp-maritime-shipping-live-map-tracker-ui-ship-container">
<div class="fp-maritime-shipping-live-map-tracker-ui-ship" id="fp-maritime-shipping-live-map-tracker-ui-ship">
<div class="fp-maritime-shipping-live-map-tracker-ui-ship-ripple" id="fp-maritime-shipping-live-map-tracker-ui-ripple"></div>
</div>
</div>
</div>
<div class="fp-maritime-shipping-live-map-tracker-ui-footer">
<div class="fp-maritime-shipping-live-map-tracker-ui-data-block">
<span class="fp-maritime-shipping-live-map-tracker-ui-data-lbl">Coordinates</span>
<span class="fp-maritime-shipping-live-map-tracker-ui-data-val" id="fp-maritime-shipping-live-map-tracker-ui-coord">41.2N 12.8E</span>
</div>
<div class="fp-maritime-shipping-live-map-tracker-ui-data-block">
<span class="fp-maritime-shipping-live-map-tracker-ui-data-lbl">Speed (KTS)</span>
<span class="fp-maritime-shipping-live-map-tracker-ui-data-val" id="fp-maritime-shipping-live-map-tracker-ui-speed">18.4</span>
</div>
</div>
</div>
</div>
</div>.fp-maritime-shipping-live-map-tracker-ui {
--fp-container-width: 100%;
--fp-max-width: 500px;
--fp-aspect-ratio: 1 / 1;
--fp-primary-color: #f5f4ef;
--fp-secondary-color: #e8e6df;
--fp-muted-color: #111111;
--fp-soft-color: #cfcbc2;
--fp-background-color: transparent;
--fp-info-color: #555555;
--fp-warning-color: #003388;
--fp-danger-color: #001a4d;
--fp-accent-color: #0047AB;
width: var(--fp-container-width);
max-width: var(--fp-max-width);
margin: 0 auto;
position: relative;
font-family: ui-monospace, "SFMono-Regular", "Courier New", Courier, monospace, sans-serif;
color: var(--fp-muted-color);
background-color: var(--fp-background-color);
box-sizing: border-box;
}
.fp-maritime-shipping-live-map-tracker-ui-stage {
width: 100%;
aspect-ratio: var(--fp-aspect-ratio);
background: var(--fp-primary-color);
position: relative;
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
box-sizing: border-box;
border: 3px solid var(--fp-muted-color);
border-radius: 4px;
}
.fp-maritime-shipping-live-map-tracker-ui-bg {
position: absolute;
inset: 0;
background: repeating-linear-gradient(
45deg,
var(--fp-primary-color),
var(--fp-primary-color) 10px,
var(--fp-secondary-color) 10px,
var(--fp-secondary-color) 12px
);
opacity: 0.5;
z-index: 1;
}
.fp-maritime-shipping-live-map-tracker-ui-panel {
position: relative;
z-index: 10;
width: 85%;
height: 85%;
background: var(--fp-primary-color);
border: 3px solid var(--fp-muted-color);
box-shadow: 8px 8px 0px var(--fp-muted-color);
display: flex;
flex-direction: column;
box-sizing: border-box;
animation: fp-maritime-shipping-live-map-tracker-ui-breathe 8s ease-in-out infinite;
transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1);
}
.fp-maritime-shipping-live-map-tracker-ui-panel::before,
.fp-maritime-shipping-live-map-tracker-ui-panel::after {
content: '';
position: absolute;
width: 6px; height: 6px;
background: var(--fp-primary-color);
border: 2px solid var(--fp-muted-color);
border-radius: 50%;
}
.fp-maritime-shipping-live-map-tracker-ui-panel::before { top: 6px; left: 6px; box-shadow: calc(100% - 24px) 0 0 var(--fp-muted-color); }
.fp-maritime-shipping-live-map-tracker-ui-panel::after { bottom: 6px; right: 6px; box-shadow: calc(-100% + 24px) 0 0 var(--fp-muted-color); }
.fp-maritime-shipping-live-map-tracker-ui-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: 12px 16px;
border-bottom: 3px solid var(--fp-muted-color);
background: var(--fp-secondary-color);
}
.fp-maritime-shipping-live-map-tracker-ui-title {
font-size: 0.85rem;
font-weight: 800;
text-transform: uppercase;
letter-spacing: 0.1em;
color: var(--fp-muted-color);
}
.fp-maritime-shipping-live-map-tracker-ui-status {
font-size: 0.65rem;
font-weight: 800;
background: var(--fp-muted-color);
color: var(--fp-primary-color);
padding: 4px 8px;
text-transform: uppercase;
letter-spacing: 0.1em;
transition: all 0.3s ease;
}
.fp-maritime-shipping-live-map-tracker-ui-screen {
flex: 1;
position: relative;
background: var(--fp-secondary-color);
overflow: hidden;
display: flex;
align-items: center;
justify-content: center;
}
.fp-maritime-shipping-live-map-tracker-ui-radar-grid {
position: absolute;
inset: 0;
background-size: 30px 30px;
background-image:
linear-gradient(to right, var(--fp-soft-color) 1px, transparent 1px),
linear-gradient(to bottom, var(--fp-soft-color) 1px, transparent 1px);
animation: fp-maritime-shipping-live-map-tracker-ui-pan 20s linear infinite;
opacity: 0.6;
}
.fp-maritime-shipping-live-map-tracker-ui-crosshair {
position: absolute;
top: 50%; left: 50%;
width: 100%; height: 100%;
transform: translate(-50%, -50%);
border: 1px dashed var(--fp-info-color);
border-radius: 50%;
opacity: 0.2;
pointer-events: none;
}
.fp-maritime-shipping-live-map-tracker-ui-svg {
position: absolute;
top: 10%; left: 10%;
width: 80%; height: 80%;
overflow: visible;
}
.fp-maritime-shipping-live-map-tracker-ui-route-bg {
fill: none;
stroke: var(--fp-soft-color);
stroke-width: 2;
stroke-dasharray: 4 4;
}
.fp-maritime-shipping-live-map-tracker-ui-route-active {
fill: none;
stroke: var(--fp-accent-color);
stroke-width: 3;
stroke-dasharray: 10 10;
animation: fp-maritime-shipping-live-map-tracker-ui-trace 1s linear infinite;
transition: stroke 0.3s ease;
}
.fp-maritime-shipping-live-map-tracker-ui-waypoint {
fill: var(--fp-primary-color);
stroke: var(--fp-muted-color);
stroke-width: 2;
}
.fp-maritime-shipping-live-map-tracker-ui-ship-container {
position: absolute;
top: 10%; left: 10%; width: 80%; height: 80%;
pointer-events: none;
}
.fp-maritime-shipping-live-map-tracker-ui-ship {
position: absolute;
width: 12px; height: 12px;
background: var(--fp-muted-color);
border: 2px solid var(--fp-primary-color);
transform: translate(-50%, -50%);
box-sizing: border-box;
z-index: 5;
transition: background 0.3s ease, border-color 0.3s ease;
box-shadow: 0 0 0 2px var(--fp-muted-color);
}
.fp-maritime-shipping-live-map-tracker-ui-ship-ripple {
position: absolute;
top: 50%; left: 50%;
width: 40px; height: 40px;
border: 2px solid var(--fp-accent-color);
border-radius: 50%;
transform: translate(-50%, -50%) scale(0);
opacity: 0;
pointer-events: none;
box-sizing: border-box;
}
.fp-maritime-shipping-live-map-tracker-ui-footer {
display: grid;
grid-template-columns: 1fr 1fr;
border-top: 3px solid var(--fp-muted-color);
background: var(--fp-primary-color);
}
.fp-maritime-shipping-live-map-tracker-ui-data-block {
padding: 12px 16px;
display: flex;
flex-direction: column;
gap: 4px;
}
.fp-maritime-shipping-live-map-tracker-ui-data-block:first-child {
border-right: 3px solid var(--fp-muted-color);
}
.fp-maritime-shipping-live-map-tracker-ui-data-lbl {
font-size: 0.6rem;
font-weight: 800;
color: var(--fp-info-color);
text-transform: uppercase;
letter-spacing: 0.05em;
}
.fp-maritime-shipping-live-map-tracker-ui-data-val {
font-size: 1rem;
font-weight: 800;
color: var(--fp-muted-color);
font-variant-numeric: tabular-nums;
line-height: 1;
transition: color 0.3s ease;
}
.fp-maritime-shipping-live-map-tracker-ui.fp-is-pinging .fp-maritime-shipping-live-map-tracker-ui-panel {
border-color: var(--fp-accent-color);
box-shadow: 12px 12px 0px rgba(0, 71, 171, 0.2);
transform: translate(-2px, -2px);
animation: none;
}
.fp-maritime-shipping-live-map-tracker-ui.fp-is-pinging .fp-maritime-shipping-live-map-tracker-ui-status {
background: var(--fp-accent-color);
color: var(--fp-primary-color);
}
.fp-maritime-shipping-live-map-tracker-ui.fp-is-pinging .fp-maritime-shipping-live-map-tracker-ui-route-active {
stroke-width: 4;
filter: drop-shadow(0 0 4px var(--fp-accent-color));
}
.fp-maritime-shipping-live-map-tracker-ui.fp-is-pinging .fp-maritime-shipping-live-map-tracker-ui-ship {
background: var(--fp-accent-color);
box-shadow: 0 0 0 2px var(--fp-accent-color);
}
.fp-maritime-shipping-live-map-tracker-ui.fp-is-pinging .fp-maritime-shipping-live-map-tracker-ui-ship-ripple {
animation: fp-maritime-shipping-live-map-tracker-ui-ripple 1s ease-out forwards;
}
.fp-maritime-shipping-live-map-tracker-ui.fp-is-pinging .fp-maritime-shipping-live-map-tracker-ui-data-val {
color: var(--fp-accent-color);
}
@keyframes fp-maritime-shipping-live-map-tracker-ui-breathe {
0%, 100% { transform: translateY(0); box-shadow: 8px 8px 0px var(--fp-muted-color); }
50% { transform: translateY(-4px); box-shadow: 12px 12px 0px var(--fp-muted-color); }
}
@keyframes fp-maritime-shipping-live-map-tracker-ui-pan {
0% { background-position: 0 0; }
100% { background-position: -30px -30px; }
}
@keyframes fp-maritime-shipping-live-map-tracker-ui-trace {
to { stroke-dashoffset: -20; }
}
@keyframes fp-maritime-shipping-live-map-tracker-ui-ripple {
0% { transform: translate(-50%, -50%) scale(0.2); opacity: 1; border-width: 4px; }
100% { transform: translate(-50%, -50%) scale(2); opacity: 0; border-width: 1px; }
}
@media (max-width: 480px) {
.fp-maritime-shipping-live-map-tracker-ui-stage { padding: 12px; border-width: 2px;}
.fp-maritime-shipping-live-map-tracker-ui-panel { width: 100%; height: 100%; border-width: 2px; box-shadow: 6px 6px 0px var(--fp-muted-color); }
.fp-maritime-shipping-live-map-tracker-ui-data-val { font-size: 0.85rem; }
}document.querySelectorAll('.fp-maritime-shipping-live-map-tracker-ui').forEach(root => {
const path = root.querySelector('#fp-maritime-shipping-live-map-tracker-ui-path');
const ship = root.querySelector('#fp-maritime-shipping-live-map-tracker-ui-ship');
const ripple = root.querySelector('#fp-maritime-shipping-live-map-tracker-ui-ripple');
const coordEl = root.querySelector('#fp-maritime-shipping-live-map-tracker-ui-coord');
const speedEl = root.querySelector('#fp-maritime-shipping-live-map-tracker-ui-speed');
const statusEl = root.querySelector('#fp-maritime-shipping-live-map-tracker-ui-status');
if (!path || !ship) return;
let pathLength = 0;
setTimeout(() => { pathLength = path.getTotalLength(); }, 50);
let progress = 0;
let phase = 'tracking';
let timer = 0;
let lastTime = performance.now();
let animationFrameId;
let baseLat = 41.2;
let baseLon = 12.8;
let baseSpeed = 18.4;
function fp_maritime_shipping_live_map_tracker_ui_loop(time) {
if (document.visibilityState === "hidden") {
lastTime = time;
animationFrameId = requestAnimationFrame(fp_maritime_shipping_live_map-tracker_ui_loop);
return;
}
let dt = time - lastTime;
lastTime = time;
timer += dt;
if (pathLength > 0) {
progress += 0.00005 * dt;
if (progress > 1) progress = 0;
const pt = path.getPointAtLength(progress * pathLength);
ship.style.left = `${pt.x}%`;
ship.style.top = `${pt.y}%`;
}
if (phase === 'tracking') {
if (timer % 500 < 50) {
let ns = baseSpeed + (Math.random() * 0.4 - 0.2);
if (speedEl) speedEl.textContent = ns.toFixed(1);
}
if (timer > 4000 && Math.random() < 0.02) {
phase = 'pinging';
timer = 0;
root.classList.add('fp-is-pinging');
if (statusEl) statusEl.textContent = "UPLINK";
baseLat += (Math.random() * 0.2 - 0.1);
baseLon += (Math.random() * 0.2 - 0.1);
if (coordEl) coordEl.textContent = `${Math.abs(baseLat).toFixed(1)}${baseLat>0?'N':'S'} ${Math.abs(baseLon).toFixed(1)}${baseLon>0?'E':'W'}`;
if (ripple) {
ripple.style.animation = 'none';
void ripple.offsetWidth;
ripple.style.animation = 'fp-maritime-shipping-live-map-tracker-ui-ripple 1.5s ease-out forwards';
}
}
}
else if (phase === 'pinging') {
if (timer > 1500) {
phase = 'tracking';
timer = 0;
root.classList.remove('fp-is-pinging');
if (statusEl) statusEl.textContent = "TRACKING";
}
}
animationFrameId = requestAnimationFrame(fp_maritime_shipping_live_map_tracker_ui_loop);
}
animationFrameId = requestAnimationFrame(fp_maritime_shipping_live_map_tracker_ui_loop);
const observer = new MutationObserver(() => {
if (!document.body.contains(root)) {
cancelAnimationFrame(animationFrameId);
observer.disconnect();
}
});
observer.observe(document.body, { childList: true, subtree: true });
});Description
Let us look at the Maritime Route Tracker Cobalt Industrial component. This free UI asset offers a modular card system specifically engineered for the maritime and shipping sector. We built this entirely from scratch to handle live vessel tracking data without the usual framework bloat. You get a sterile DOM structure that integrates cleanly into your existing logistics application architecture.
Logistics platforms process massive amounts of live coordinate data and require absolute reliability during global fleet monitoring. Heavy client side payloads completely ruin performance metrics when immediate visual feedback is needed for active cargo routes. This component solves that bottleneck directly. By strictly avoiding external libraries like Tailwind, Bootstrap, or GSAP, it keeps your bundle size minimal. This ensures rapid rendering for fleet managers and port dispatchers who need to monitor active container ships on varied satellite networks.
Technical Architecture & Performance
-
Zero dependency codebase: Built strictly with pure HTML, CSS, and Vanilla JavaScript to keep your front end stack incredibly light.
-
Guaranteed performance metrics: Optimized to help your logistics software maintain 90 plus PageSpeed scores and pass Core Web Vitals easily.
-
Safely scoped CSS: All styling is strictly scoped to prevent any class name collisions when you drop these cards into a massive monolithic repository.
-
Sterile DOM markup: Features clean HTML with absolutely no unnecessary wrappers or deep nesting trees to parse.
Design & Aesthetic Impact
The visual direction pairs professional Cobalt Corporate tones with a highly structured layout to establish trust and authority in tracking environments. This sharp and highly readable aesthetic ensures visual clarity for users analyzing complex maritime routes and dense shipping manifests. For the interaction layer, we implemented custom zig zag path tracing animations. These precise geometric transitions provide clear visual feedback for active route plotting and coordinate shifts without requiring heavy javascript animation scripts. The final result is a clean user interface that looks premium and functions perfectly for strict enterprise maritime applications.
Enterprise Use Cases
-
Live fleet monitoring dashboards: Display active vessel coordinates and route updates using the card grid so dispatchers can monitor their global fleet quickly.
-
Port logistics command centers: Build a fast rendering tracking page where harbor masters can organize and review massive datasets of incoming container ships within a lightweight interface.
-
Freight forwarding client portals: Create a responsive control layout for shipping agents to track active transit paths and estimated arrival times across multiple international trade routes.
Highlights & Benefits
Drop the code straight into your project without configuration.
Built strictly with pure CSS & Vanilla JS for maximum speed.
Constructed with strict adherence to WCAG accessibility standards for perfect contrast and screen-reader support.
Utilizes a highly optimized, clean DOM architecture ensuring lightning-fast render and maximum PageSpeed scores.

Maritime Route Tracker – Cobalt Industrial
Description
Let us look at the Maritime Route Tracker Cobalt Industrial component. This free UI asset offers a modular card system specifically engineered for the maritime and shipping sector. We built this entirely from scratch to handle live vessel tracking data without the usual framework bloat. You get a sterile DOM structure that integrates cleanly into your existing logistics application architecture.
Logistics platforms process massive amounts of live coordinate data and require absolute reliability during global fleet monitoring. Heavy client side payloads completely ruin performance metrics when immediate visual feedback is needed for active cargo routes. This component solves that bottleneck directly. By strictly avoiding external libraries like Tailwind, Bootstrap, or GSAP, it keeps your bundle size minimal. This ensures rapid rendering for fleet managers and port dispatchers who need to monitor active container ships on varied satellite networks.
Technical Architecture & Performance
-
Zero dependency codebase: Built strictly with pure HTML, CSS, and Vanilla JavaScript to keep your front end stack incredibly light.
-
Guaranteed performance metrics: Optimized to help your logistics software maintain 90 plus PageSpeed scores and pass Core Web Vitals easily.
-
Safely scoped CSS: All styling is strictly scoped to prevent any class name collisions when you drop these cards into a massive monolithic repository.
-
Sterile DOM markup: Features clean HTML with absolutely no unnecessary wrappers or deep nesting trees to parse.
Design & Aesthetic Impact
The visual direction pairs professional Cobalt Corporate tones with a highly structured layout to establish trust and authority in tracking environments. This sharp and highly readable aesthetic ensures visual clarity for users analyzing complex maritime routes and dense shipping manifests. For the interaction layer, we implemented custom zig zag path tracing animations. These precise geometric transitions provide clear visual feedback for active route plotting and coordinate shifts without requiring heavy javascript animation scripts. The final result is a clean user interface that looks premium and functions perfectly for strict enterprise maritime applications.
Enterprise Use Cases
-
Live fleet monitoring dashboards: Display active vessel coordinates and route updates using the card grid so dispatchers can monitor their global fleet quickly.
-
Port logistics command centers: Build a fast rendering tracking page where harbor masters can organize and review massive datasets of incoming container ships within a lightweight interface.
-
Freight forwarding client portals: Create a responsive control layout for shipping agents to track active transit paths and estimated arrival times across multiple international trade routes.

