GOING LIVEFrontend EngineerOngoing

Sea World Med

Sign in
⊞ zoom
Email-link onboarding — email confirmed
⊞ zoom
Choose password with strength policy
⊞ zoom
Two-factor setup — authenticator app or email code
⊞ zoom
Authenticator setup — QR code, manual key, trusted browser
⊞ zoom
Dashboard — fleet compliance KPIs, vessel map and attention list
⊞ zoom
Vessels — profiles, customer/flag and medical scale
⊞ zoom
Administration — users, roles & permissions, audit history
⊞ zoom

Sign in

1 / 8

// Overview

Sea World Med is a marine medical intelligence platform that helps maritime medical providers keep every vessel's medical chest compliant with its flag state's regulations. Shipboard captains and shoreside clinicians record stock, consumption and monthly usage, while admins manage customers, fleets, vessels, regulatory scales, the SKU catalogue, supplier packaging imports and units of measure. I built the React frontend end to end on top of a .NET REST API: a strict three-layer architecture (components → containers → pages) enforced by lint rules, Zod validation on every API response, around 30 feature modules, and CI/CD to Azure. The hardest part was not the code but the product side. The client's domain knowledge lived in spreadsheets, regulations and conversations, so I ran sessions with them to pull out the real data rules (flag-state medical scales, unit conversions, packaging imports, user roles), turned their ideas into user stories and acceptance criteria, and agreed every API contract with the backend team before building it.

// Tech Stack

Frontend

React 19TypeScriptTailwind CSS v4TanStack QueryZustandReact Hook FormZodReact RouterMapbox GL

Backend

.NET REST APIAxiosAzure Web App

Tooling

ViteVitestTesting LibraryoxlintHuskyGitHub Actions

// Tags

ReactTypeScriptTailwindTanStack QueryAzure

✦ FIELD NOTES

01

Built the frontend end to end as a React 19 SPA over a .NET REST API, with a three-layer architecture (components → containers → pages) whose boundaries are enforced by oxlint import rules

02

Validated every API response with Zod at the API boundary and normalised backend errors in Axios interceptors, so contract changes fail loudly instead of silently breaking screens

03

Delivered the full auth suite: email-link onboarding, password policy with strength meter, two-factor authentication by authenticator app (QR / manual key) or email code, trusted browsers and token refresh

04

Built the data-dense operations modules — customers, fleets, vessels, flags, regulatory medical scales, medical items, SKU catalogue, packaging imports, UOMs, consumption and monthly usage — plus role-based access with per-user permission overrides and audit history

05

Worked on the PO/PM side with the client: ran requirement sessions, turned spreadsheets and loosely described ideas into user stories and acceptance criteria, and mapped business rules (flag-state scales, unit conversions, packaging) into clear specs

06

Aligned API contracts with the backend team through written backend requests and a shared bug log, and ran QA/UAT feedback rounds with the client before go-live

07

Set up CI/CD to Azure with GitHub Actions, gated by typecheck, lint and 270+ Vitest/Testing Library test files, plus Husky pre-commit hooks

Sea World Med | Blerion Muco