Industry guide · Custom Software

Aquaculture Software: Fixing the Biomass, Feed and Harvest Problems Off-the-Shelf Tools Leave Behind

The short answer

If your farm runs more than roughly 20 pens or ponds across two or more sites and your biomass number still comes from a spreadsheet a site manager rebuilds every Monday, building is usually the right call. Expect $60,000 to $130,000 and 12 to 16 weeks for a focused first release covering pen registry, feed events, biomass model and harvest reconciliation, and $150,000 to $400,000 phased over 6 to 12 months for a full platform with feed system telemetry, treatment and compliance records, and processor integration. If you have fewer than 10 units on one site and one person who knows every fish, keep the spreadsheet.

Why aquaculture software makes or breaks a multi-site farm

Every number that matters on a fish farm is an estimate stacked on another estimate. You stocked 92,000 smolts into Pen 7 based on a counter reading you have never fully trusted. You have fed that pen for 14 months. Your mortality log is a mix of the diver's daily count, the mort pump tally and what the site manager remembers. Your biomass number, the one your bank covenant, your harvest schedule and your feed order all depend on, is that stack of estimates multiplied by a growth table someone copied out of a supplier's manual in 2019 and has adjusted by feel ever since.

The tools in the room are usually Mercatus Ocean Farmer or AquaManager or Fishtalk on the bigger salmon and seabass sites, an Excel workbook per site on everyone else, plus whatever came bundled with the feed barge: AKVA's Fishtalk Control, Steinsvik, Innovasea's Aquaculture Intelligence. Those systems are real and some are good. The problem is that they each own a slice, and no single one owns the pen. Feed volume lives in the barge software. Mortality lives in a paper sheet the diver photographs and WhatsApps to the office. Treatments live in a vet's PDF. Harvest weights come back from the processor three days later as a settlement file with different lot codes than your own. Somebody, usually your production manager, spends 10 to 14 hours a week rekeying all of it into a workbook so the Monday production call has a number. That is what we find when we audit these operations before a build.

Here is the scene that funds the build. A site manager reports Pen 12 at 4.1 kg average, 340 tonnes standing biomass. Harvest is planned around it: wellboat booked, processor slot confirmed, buyer contracted at a size grade. The fish come out at 3.6 kg. You are 45 tonnes short on a contracted grade, you pay for a wellboat day you did not need, and your buyer downgrades the lot. That single miss is worth more than the software. It happened because the feed conversion assumption in the spreadsheet was 1.15 and the pen had actually been running near 1.35 since a sea lice treatment in month nine knocked appetite down for three weeks, and nothing in the stack connected the treatment event to the growth model.

Problem: your biomass number is a guess dressed as a fact

The standard flow is stocking count, minus cumulative mortality, times an average weight from a monthly sample of 60 to 100 fish, cross-checked against a growth table. Every one of those inputs carries error, and the errors compound over a 14 to 22 month cycle. In the farms we have audited, a 3 percent stocking count error plus sampling bias toward the fish that swim into the net plus an FCR assumption that never updates gets you 8 to 12 percent off by harvest. On a 340 tonne pen that is 30 tonnes you either cannot sell or did not plan to have.

Ocean Farmer and AquaManager will hold all these inputs and give you a biomass figure. What they will not do is treat your farm's own history as the model. They ship a generic growth curve and let you override parameters by hand. They cannot tell you that at your site, at 9 to 11 degrees, after a hydrogen peroxide treatment, your fish lose roughly 11 days of growth and your effective FCR runs 0.18 higher for the following three weeks, because that pattern only exists in your data and their model has no place to learn it.

A custom build inverts this. The pen is the primary object, and every event that touched it is written to one immutable timeline: stocking with counter reading and source hatchery, every feed event with product, batch and mass, every mortality with cause code, every treatment, every grade, every sample with individual fish weights rather than just the average, every environmental reading from your loggers. Then you fit the growth model to your own harvest outcomes. The machine learning that pays for itself here is unglamorous: a regression trained on your last 40 to 60 harvested pens, taking temperature, feed history, treatment events, stocking origin and sample data as inputs, predicting harvest weight and standing biomass with a confidence band. The band matters more than the point estimate. A model that says "342 tonnes, 90 percent confidence 318 to 361" changes how you book a wellboat. We have seen this narrow the harvest weight miss from the 8 to 12 percent range down toward 3 to 5 percent within two cycles, purely because the model is fed the farm's own reality instead of a supplier's brochure curve.

Problem: feed is your biggest cost line and you cannot attribute it to a pen

The barge system knows it blew 1,840 kg out of a hose today. It does not reliably know how much of that reached Pen 7 rather than the seabed, and it definitely does not know that the feeder overshot for 40 minutes because a camera operator was covering two screens. The office knows what you bought from Skretting or BioMar per delivery. Between those two facts is a gap that quietly costs money: on a 5,000 tonne producer, a 0.1 swing in FCR is roughly 500 extra tonnes of feed, which at whatever your delivered cost per tonne is lands as a six-figure line you never budgeted.

Off-the-shelf farm management tools import the barge's daily feed totals and stop there. They accept the barge's number as truth and post it to the pen. They cannot reconcile it against silo levels, delivery weights and physical stock counts, because they were never given the warehouse side of the problem. So your biological FCR and your economic FCR drift apart over a cycle and nobody notices until the annual feed reconciliation shows 190 tonnes unaccounted for.

What a custom build does: ingest the barge telemetry directly, via the AKVA or Steinsvik API where one exists, or a nightly file drop or OPC UA tap where it does not, at the feeding-event level rather than the daily-summary level. Every event carries pen, silo, product batch, start and stop time, mass. Separately, ingest the delivery side: feed purchase orders, weighbridge tickets, silo level sensors. Then run a continuous three-way reconciliation of purchased versus stored versus fed, per silo, per product batch, with a variance alert when the daily gap exceeds a threshold you set, say 2 percent. Now your feed manager sees the discrepancy the week it starts, not at year end. Layer on pellet-loss detection from the underwater camera feed if you already have cameras, and the same event stream tells you which pens are being overfed at which tide states. This is the single highest-return integration in the category and it is the one buyers most often postpone.

Problem: mortality and health data lives on paper until it is too late to act

The diver counts morts, writes them on a wet sheet, photographs it, sends it to the site office. Somebody types it in that evening or the next morning or Friday. Cause codes are freeform text: "mort", "loss", "runt", "unknown", "lice?". By the time the pattern is visible in a spreadsheet, three days of elevated mortality have passed and the vet is now dealing with a treatment rather than a prevention.

The generic tools have mortality fields. They do not have your cause taxonomy, they do not enforce it, and they will not run detection on it. AquaManager will let a diver type "unknown" 400 times, and it will happily average across pens so a spike in one unit disappears into a site-level number that looks fine.

A custom build starts with an offline-first mobile app the diver actually uses at the pen edge with wet hands and no signal: big tap targets, a fixed cause taxonomy you defined with your vet, photo capture, queued sync when the boat gets back in range. Then anomaly detection on the stream: a per-pen baseline mortality rate, an alert when today's count exceeds the rolling baseline by a defined multiple, routed to the site manager and the vet within the hour rather than the week. AI does two useful things here. First, image classification on mort photos to suggest a cause code, which does not replace the vet but does stop the "unknown" pile from growing. Second, document extraction on vet reports, lice count sheets and lab results: those PDFs arrive as unstructured text, and a language model pulling structured fields out of them and attaching them to the correct pen timeline saves your health coordinator most of a day each week and, more importantly, makes those events available to the growth model.

Problem: harvest reconciliation is a fight you lose three days late

You harvest Pen 12 on Tuesday. The wellboat takes it. The processor grades and settles on Friday and sends a file: kilos by grade, downgrades, condemnations. Their lot codes are not your pen numbers. Your production manager builds a mapping in Excel, discovers a 4 percent yield gap, and by then nobody remembers whether the fish were held 18 hours or 30, whether the grader was recalibrated, or which pen the last 12 tonnes actually came from because two pens were merged in the wellboat.

No off-the-shelf farm tool solves this, because it requires speaking to your specific processor's settlement format and your specific wellboat's manifest, and no vendor will build that for one customer. This is the clearest build-only problem in the category.

A custom build maintains lot identity end to end: pen to cage-side crowd to wellboat compartment to processor batch, with your codes carried through and the processor's codes mapped on ingest. It parses the settlement file automatically, whether that is EDI, a CSV drop or a PDF that needs extraction, and posts actual yield against predicted biomass per pen, same day. It flags variance over your threshold and holds the full event context alongside it: transport duration, water temperature during transit, days since last treatment, feed cessation timing. After 20 harvests you stop arguing about individual gaps and start seeing which conditions cause them. One producer we worked with found their downgrade rate correlated with wellboat hold time over 22 hours far more than with anything happening on the farm, which is not a conclusion any spreadsheet was ever going to surface.

Problem: compliance reporting eats a week a month and is duplicated everywhere

Depending on your waters you are filing biomass declarations to the regulator, sea lice counts on a fixed schedule, medicine and treatment records, escape reporting, and whatever your certification body wants: ASC, BAP, GlobalG.A.P., Global Seafood Alliance. Each wants a different cut of the same underlying events, in a different format, on a different cadence. Most farms have somebody rebuilding those exports by hand from the same workbook, every single month.

The generic platforms cover one or two of the common regimes for their home market and leave the rest to you. If you farm in more than one jurisdiction, which most multi-site operators eventually do, you are back in Excel for at least half of it.

A custom build treats the pen event timeline as the single source and compliance exports as views over it. Once mortality, treatment, feed and lice data are captured properly and once, every report is a query plus a formatter. Add an audit trail so every record shows who entered it, when, from which device, and whether it was later amended and by whom, because that is what an ASC auditor asks for and what a spreadsheet can never produce. Budget real time for this: the formats are fussy, the regulators change them, and getting it wrong is a finding on your certificate. But it is a one-time build against a data model you already needed, not a separate system.

What this costs and how long it takes

These numbers come from our own delivery history, not from a market survey. A focused first release, the pen and lot data model, feed event ingestion from one barge system, mortality mobile capture, the biomass model fitted to your history, and a production dashboard, typically runs $60,000 to $130,000 and ships in 12 to 16 weeks. A full platform, adding multi-site rollups, treatment and health records, compliance exports for two or more regimes, processor settlement integration, environmental sensor ingestion and a proper permissions model, runs $150,000 to $400,000 phased over 6 to 12 months.

What pushes you up the band in aquaculture specifically. First, the number of distinct equipment vendors you need to talk to: one barge system is a known quantity, three different generations of AKVA plus a Steinsvik site plus a legacy system with no API is where integration cost triples, because the last one means file scraping and reverse engineering. Second, offline requirements: an app that must work with zero connectivity for eight hours and sync cleanly, including conflict resolution when two people edited the same pen, is roughly 40 percent more work than an online-only one, and you cannot skip it. Third, the biomass model itself: if you have five years of clean harvest outcomes it is weeks of work, and if your history is 40 inconsistent spreadsheets it is a data archaeology project before any modeling starts, easily $20,000 to $40,000 on its own. Fourth, multi-jurisdiction compliance: each additional regulatory regime is real weeks, not a config toggle. Fifth, land-based RAS: if you are running recirculating systems, the sensor density and the control system integration are a different scale of problem than net pens, and we would not quote the same band.

Build versus buy: where the line actually sits

Buy, and mean it. If you run one site with under 10 to 15 pens or ponds, Ocean Farmer or AquaManager or their equivalent will do the job for a fraction of a build, and your site manager's head is still a better model than any software you could commission. If you are a single-species producer in one jurisdiction with one feed vendor and one processor you have used for a decade, the off-the-shelf tool fits because your operation looks like the operation it was designed for. Buy it, use it properly, and revisit in three years.

Build when three or more of these are true. You run multiple sites and your Monday number is assembled by a human from more than two systems. Your harvest weight misses your prediction by more than 5 percent with any regularity and you cannot explain why. Your feed reconciliation gap is above 2 percent annually and nobody can point at the cause. You farm in more than one regulatory jurisdiction. You have equipment from more than one vendor generation and the newer software will not read the older barge. Or the decisive one: your commercial team is making forward sales commitments against a biomass number that your own production manager privately does not believe.

Our position, having built these: most operators wait about 18 months too long. They wait because the spreadsheet works, right up until a $200,000 harvest miss makes it obvious it did not. The threshold is not size, it is whether the number that drives your money decisions can be traced to its inputs. If it cannot, you are already paying for the software you have not built.

How to choose a developer for aquaculture software

Ask them to model a pen on a whiteboard before you sign anything. If they draw a table with a biomass column, walk. The correct answer is an event-sourced timeline where biomass is a derived value with a timestamp and a confidence, because a pen's history is a sequence of events and any system that stores the answer rather than the inputs cannot recompute when your model improves, which it will. This single question separates people who have done it from people who read about it.

Ask what happens when the barge API goes down for six days. The right answer involves a local buffer, idempotent replay and a reconciliation pass, not "we'll get an alert." Marine integrations fail constantly: salt, power, weather, boats hitting things. Anyone who has shipped in this category will have a specific war story about a feed data gap and how they closed it. Anyone who has not will describe a happy path.

Ask them to name the compliance regimes and certification schemes you are subject to, unprompted. If they cannot distinguish ASC from BAP, or do not know what a biomass declaration is in your jurisdiction, you will be paying them to learn on your budget and you will still get the export format wrong on the first two attempts.

Get code ownership and data portability in writing, in the contract, before the first sprint. You own the repository, you own the database, you can export the full pen history to a documented format at any time, and there is no per-pen or per-tonne licence sitting on top of software you paid to build. Farms get trapped here more than any other industry we work in, usually because the vendor who wrote it is also the vendor who sells the feed barge.

Research & sources

The evidence behind this guide

Independent findings on why this investment pays off. Every link goes to the primary source.

  1. Retailers improving Core Web Vitals saw measurable gains: Vodafone improved LCP by 31% for 8% more sales, Lazada saw a 16.9% mobile conversion increase, and Cdiscount saw a 6% Black Friday revenue uplift. Source: web.dev (Google Chrome team) (2021) →
  2. Poor software quality cost the US economy an estimated $2.41 trillion in 2022, including roughly $1.52 trillion in accumulated technical debt, driven partly by unsuccessful development projects and low-quality legacy systems. Source: Consortium for Information & Software Quality (CISQ) - Herb Krasner (2022) →
  3. McKinsey found that currently demonstrated technologies can fully automate about 42% of finance activities and mostly automate a further 19%, indicating roughly 60% of finance work is technically automatable. Source: McKinsey & Company (2018) →
  4. PMI's Pulse of the Profession research found organizations waste an average of roughly 9.9% of every dollar invested in projects due to poor performance - equivalent to about $1 million wasted every 20 seconds collectively worldwide. Source: Project Management Institute (PMI) (2018) →
Rohan Malhotra · Enterprise Software Consultant

Rohan advises mid-market and enterprise teams on ERP, CRM and custom software, and has led delivery on dozens of business-software builds.

Writes for Digital Heroes, shipping business software for 2,000+ brands across 55+ countries since 2017.

FAQ

Frequently asked questions

How much does custom aquaculture software cost for a farm with 60 pens across four sites?
For that scale, a focused first release covering pen registry, feed event ingestion, mortality capture and a biomass model typically runs $60,000 to $130,000 in Digital Heroes delivery experience. A full platform adding compliance exports, processor settlement integration and environmental sensor ingestion lands between $150,000 and $400,000 phased over 6 to 12 months. The main cost driver at your scale is how many distinct barge and feed system vendors you need integrated, not the pen count itself.
Is custom software better than Mercatus Ocean Farmer or AquaManager for our farm?
Not automatically. If you run one site with under 15 pens, one feed vendor and one jurisdiction, those tools fit your operation and cost a fraction of a build. Custom becomes the better answer when you run multiple sites, your biomass predictions miss harvest by more than 5 percent, or you need your own farm history to drive the growth model rather than a generic supplier curve.
How long does it take to build aquaculture management software?
A focused first release ships in 12 to 16 weeks: pen and lot data model, feed ingestion from one barge system, offline mortality capture, biomass model and a production dashboard. Full platforms with multi-jurisdiction compliance, processor integration and multiple equipment vendors run 6 to 12 months in phases. The offline mobile requirement and the number of legacy barge systems are what stretch timelines most in this category.
Can we migrate 5 years of pen and harvest data out of our spreadsheets into a new system?
Yes, and you should, because that history is what makes your biomass model worth having. Budget $20,000 to $40,000 separately if your spreadsheets are inconsistent across sites and years, which they almost always are, since cause codes, pen naming and units drift over time and all of it needs normalising before any modeling starts. Clean data from an existing system like Ocean Farmer or AquaManager migrates far faster, usually within the first release timeline.
Do we own the code if we pay someone to build our aquaculture platform?
You should, and you need it in the contract before the first sprint: full repository ownership, database access, and documented export of your complete pen history at any time. Watch specifically for per-pen or per-tonne licence terms attached to software you paid to build, which is a common trap when the developer is connected to your equipment vendor. If a developer resists full ownership, that is a decision about your leverage in five years, not a legal detail.
Can custom software actually improve our FCR and biomass accuracy?
It can, but through attribution rather than magic. Reconciling purchased feed against silo levels against pen-level feed events surfaces variance within days instead of at year-end audit, and on a 5,000 tonne producer a 0.1 FCR swing is roughly 500 tonnes of feed you either did or did not need. On biomass, fitting the growth model to your own harvest outcomes rather than a supplier curve has moved harvest weight error from the 8 to 12 percent range toward 3 to 5 percent within two production cycles in our builds.
Will custom aquaculture software handle ASC, BAP and our regulatory biomass declarations?
Yes, and it handles them better than generic tools because compliance exports become views over one properly captured event timeline rather than separate manual rebuilds. Each additional regulatory regime is real development weeks, not a config toggle, so scope them explicitly if you farm in more than one jurisdiction. You also get the audit trail an ASC auditor asks for: who entered each record, when, from which device, and whether it was amended.
How do we integrate with AKVA, Steinsvik or Innovasea feed systems?
Through an API where the vendor exposes one, or a nightly file drop or OPC UA tap where they do not, ingesting at the feeding-event level rather than daily summaries so you can attribute feed to individual pens. Cost scales with vendor variety: one barge system is straightforward, while three generations across sites including a legacy unit with no API can triple integration effort. Insist your developer explains their buffering and replay approach, since marine connectivity fails regularly and gaps must reconcile cleanly.
Where does AI genuinely help on a fish farm versus where is it hype?
It helps in three concrete places: a growth and biomass model regressed on your own last 40 to 60 harvested pens producing confidence bands rather than point estimates, document extraction pulling structured fields out of vet reports and lab PDFs onto the correct pen timeline, and anomaly detection alerting on per-pen mortality spikes within the hour instead of the week. Image classification on mort photos to suggest cause codes is useful as a vet aid, not a replacement. Anything promising to predict disease outbreaks without your own multi-year health history behind it is hype.
How do I calculate whether custom software will pay for itself?
Divide the build cost by the monthly benefit, where benefit is hours saved times loaded hourly cost, plus subscription fees replaced, plus any revenue the software unlocks. Three staff saving 10 hours a week each at a $40 loaded rate is about $62,000 a year, which pays back a $60,000 build in roughly 12 months. Across Digital Heroes internal-tool projects, 12 to 24 months is the normal payback range, and anything projecting under 6 months usually means the spreadsheet is hiding costs.
We run everything on Airtable and spreadsheets. When is it time to go custom?
The switch usually makes sense when you hit one of two walls: Airtable's record caps (125,000 records per base on the Business plan) or logic the tool cannot express, like multi-step approvals with conditional pricing. There is also a simple cost signal: 25 people on Business at roughly $45 per seat per month is about $13,500 a year, forever, for a tool you are already fighting. Custom is worth it when the workflow is core to how you make money; for peripheral processes, staying on Airtable is the right call.
What should I prepare before contacting a software development agency?
A one-page brief beats a 40-page requirements document: the business problem in plain words, who will use the system, the 5 to 10 workflows it must handle, the tools it must connect to, and your budget range and deadline driver. You do not need wireframes, a specification, or technical vocabulary; producing those is the agency's job during discovery. Stating a budget range up front is the single best move, because it gets you honest scoping instead of a quote engineered to win the meeting.
Does the tech stack matter, and which one should I ask for?
It matters less than agencies imply, provided it is boring. A mainstream stack, something like React or Next.js on the front end, Node.js or Python behind it, and PostgreSQL for data, means thousands of developers can maintain your system if you ever change vendors. Apply one test: ask how hard it would be to hire a replacement developer for the proposed stack, and walk away from anything built on an agency's in-house framework.
Is a solo freelancer enough for my project, or do I really need an agency?
A solo freelancer is a fine choice for a well-defined build under roughly $15,000 to $20,000 with a limited lifespan: an internal calculator, a scripted integration, a prototype. Above $50,000, or for any system your business will depend on for years, you are buying continuity as much as code: enforced code review, cover when someone is ill, and support that outlasts one person's career plans. Price the risk of a single point of failure, not just the hourly rate.
If an agency builds my software, who actually owns the code?
You should own everything, assigned in writing: the contract transfers full IP to you on final payment, the code lives in your GitHub organization, and hosting runs in cloud accounts you control. The red flag is a proposal that mentions the agency's proprietary platform or framework, which usually means you are renting, not buying. Digital Heroes structures every build this way precisely so a client can fire us and lose nothing but the relationship.
Couldn't I just build my app in Bubble or another no-code tool instead of hiring an agency?
For validating an idea with real users, yes, and we tell clients that honestly. The walls come later: Bubble apps cannot be exported as code to run anywhere else, performance drops on complex data operations, and usage-based pricing climbs as you grow. A meaningful share of Digital Heroes custom builds are rebuilds of no-code MVPs that proved the business worked, which is the system operating as intended: validate cheap, then build the version that scales.
Our developer disappeared mid-project. Can another team pick up the code?
Yes, this is a routine engagement, provided the code exists somewhere you can access, so your first move is securing the repository, hosting, and domain credentials today. A takeover starts with a one to two week paid code audit that ends in one of three verdicts: continue the build, keep the design but rebuild the weak parts, or start over. Digital Heroes has inherited enough projects to say plainly that sometimes the rebuild is cheaper than the rescue, and an honest agency will tell you which one you have before taking your money.
Does it matter which tech stack the agency wants to use?
Yes, but not in the way most buyers expect: the goal is boring, popular technology such as React, Node.js or Python, and PostgreSQL, because any future team can maintain it and hiring a replacement developer takes days, not months. The red flag is an agency-proprietary framework or an unusual language, which welds you to that one vendor no matter what your contract says about code ownership. A useful test: could you find three freelancers fluent in this stack within a week? If not, push back.
What are the biggest mistakes first-time software buyers make?
Choosing the lowest bid, paying more than 30-40% upfront instead of on milestones, skipping a written specification, and having no maintenance plan for after launch. The most expensive of the four in Digital Heroes rescue projects is the missing spec: without written acceptance criteria, done becomes an argument instead of a checklist, and every disagreement resolves in the vendor's favor. Fix those four and you have avoided most of the ways these projects fail.
Keep reading
let's build

Build something worth launching.

A plan, a team, a timeline, within 24 hours. No decks, no discovery calls. Tell us what you're building and we'll come back with a real scope and a real number.

message us directly · we reply within one business day

mission briefing

Monthly dispatch

Playbooks, real build costs, and what we're shipping. One email a month. No fluff.

visit us

New York HQ

1140 Broadway, Suite 704 · New York, NY 10001

Get directions
Online now

Hey there 👋 How can we help you today?