CLIENT: Coopérative de Pêche Ndaw Mbaar🇸🇳Senegal

Catchlog - Catch Traceability Platform from Boat to EU Buyer

Catch Traceability for a Senegalese Fishing Cooperative

Designed and built a clickable plant console for a Dakar fishing cooperative that exports tuna, snapper and octopus to the EU: every lot traced back to the vessels, trips and landings behind it, histamine results checked against the cooperative's policy, and catch certificate data built from recorded landings with a balance check that refuses to export more than was landed.

Scope of Work
Product design, UI build and clickable demo
Industry
Maritime & Ports / Catch Traceability
Enterprise
Compliance & Certifications
EU IUU Regulation 1005/2008EU Fisheries Control 2023/2842 (CATCH)EU Food Hygiene 852/2004 and 853/2004EU Microbiological Criteria 2073/2005Senegal Maritime Fisheries CodeICCATSenegal Data Protection Law 2008-12

Most of our work is under NDA. Per agreement, we can share the work but not the company details - all names and identifying information shown here have been changed.

Impact

5 Screens
Clickable end to end

Plant dashboard, lots, lot detail with 6 tabs (origin, lineage, quality, storage, documents, activity), catch certificates and certificate detail. A Scan lot panel opens any lot by its number or trace code.

5 Checks
Before a certificate is ready

Landing balance, licence valid on the catch dates, licence numbers present, every lot traced to a declared landing, and estimated live weight. Draft CC-26-0044 fails the balance check by 30 kg and the screen shows which landing.

9 Samples
Histamine plan per tuna lot

Each tuna lot shows 9 histamine samples against a 50 mg/kg internal action limit and receiving temperatures against a 4.0 °C limit, both labelled as the cooperative's own policy (version 7).

22 Lots
Realistic demo data

18 landings from 8 vessels, 22 lots including 3 frozen loin lots from processing runs, 12 catch certificates covering every status, 5 orders and 12 shipments to 4 EU buyers.

The Problem

Ndaw Mbaar's catch data lived in paper logbooks that got wet or were filled in on the quay from memory, a landing ledger kept by one clerk and spreadsheets at the plant. When an EU importer asked which vessel and area a carton came from, the answer took days or could not be given, because lots from several boats were mixed on the line without a record. Catch certificates were typed by hand from the ledger, weights did not always match, and one shipment was held at an EU border post while the paperwork was corrected.

Our Solution

Catchlog follows every fish lot from the haul at sea to the EU shipment. In the plant console, a lot shows the vessels, trips and landings behind it with each one's share of the weight, its full lineage through processing runs, its lab and temperature results against policy, and the certificates and shipments it appears on. Catch certificate data is built from those recorded landings rather than typed by hand.

The Challenge: Proving Where Every Box Came From

About 120 member vessels, mostly motorised pirogues, land catch at several sites around Dakar. The cooperative's plant cuts, mixes and freezes it, and EU buyers need a catch certificate and safe, traceable product for every consignment.

Lots Mixed Without a Record

Tuna loins are cut from whole fish landed by several boats on different days. Once lots were combined on the processing line, nobody could say which vessel, trip or FAO area a finished box came from, or in what share.

Certificates Typed From a Ledger

Under Council Regulation (EC) No 1005/2008, fish imported into the EU must carry a catch certificate, filled in by the exporter and validated by Senegal's competent authority, and since 10 January 2026 sent through the EU's CATCH system. Typing weights by hand let the same landing be counted on more than one certificate.

Histamine and the Cold Chain

EU hygiene rules, including histamine criteria for species such as tuna, set the bar for chilling, freezing and testing. The cooperative tests every tuna lot before export, with a sampling plan and action limit stricter than the legal criteria, and a lot that fails must not reach an order.

Licences, Closures and Allocations

Senegal's Maritime Fisheries Code sets who may fish, where and with what gear, and the authority announces closures, protected zones and species allocations. These change, so the cooperative has to enter them from the notices and see in time when a vessel's permit expires or its allocation runs out.

Our Approach: From Fisheries Rules to a Clickable Console

01

Spec and Rules Research

Mapped 12 roles from skipper and landing clerk to lab technician, export officer and the buyer with no login, and 49 screens across an offline-first skipper app, a quay landing app, the plant console, the cooperative admin area and a public trace page. Defined the data model for vessels, licences, trips, hauls, landings, lots with origin shares and parents, processing runs, lab tests, orders, shipments and catch certificates, and wrote down the rules the design follows: the EU IUU Regulation and CATCH, EU hygiene and microbiological criteria, the Senegal Maritime Fisheries Code, ICCAT and FAO area codes, and Senegal's Law No. 2008-12 on personal data.

02

Clickable Demo on a Production UI Kit

Built the plant console's 5 key screens on a production dashboard kit: the dashboard with KPI cards, a live chain from hauls to shipment, holds with age, incoming lots and orders at risk; the lots list with status, species and lab filters and a quick view panel; lot detail with print label, hold and release, allocate to order and a lineage graph; and catch certificates with validation checks, vessel and catch blocks, the landing balance, export for CATCH and recording the authority's validation. Actions run on local state.

03

What a Production Build Adds

The skipper app that works offline for days at sea with Iridium satellite summaries and offline maps, the landing app with Bluetooth scales and Zebra label printers, temperature loggers in the plant, mobile money member payments in XOF through Wave or Orange Money, and SMS alerts. The remaining plant screens (receiving, processing runs, cold storage, lab tests, orders, shipments), the cooperative admin area with licences, quotas, zones, trips, member payments, ministry reports and an audit log, staff access by role, the public trace page, and a check of the exact CATCH data fields before go-live.

Why It Works: The Record Travels With the Fish

Every Lot Knows Its Origin

A mixed loin lot such as LT-26-004809 lists both vessels, their trips and landing declarations, gear, catch dates and FAO subarea 34.3.1, with each vessel's share of the weight. The lineage graph shows every parent lot and processing run behind it.

Certificates Built From Landings

Catch certificate data comes from the recorded landings, not from a typist. The balance check adds up the weight each landing has already given to earlier certificates and flags any certificate that would export more than was landed, before it goes to the authority.

Policy Is Labelled, Authority Stays Outside

The temperature limit, histamine sampling plan and action limit are shown as the cooperative's own policy with a version number. The certificate screen states that validation belongs to the flag state's competent authority; Catchlog only prepares and checks the data.

Only Clean Lots Reach an Order

Allocate to order shows whether a lot is eligible for an EU order: lab result passed, origin complete and no hold. Lots on hold for a lab result, a temperature breach or documents appear on the dashboard with their reason and age.

Related case studies

View all: Maritime & ports
Logo
Oceanlab

Enterprise Software Engineering - Human + AI

Languages

Locations

Global Headquarters

21 Merchant Road, 3rd Floor, Singapore 058267

Main corporate office and leadership operations

North America Office

548 Market Street, PMB 12345, San Francisco, CA 94104

Client operations and business development

India Office

402 Shivalik Shilp II, SG Highway, Ahmedabad 380015

Engineering and delivery center

© 2026 - Copyright. All Rights reserved Oceanlab