SeaTrace: replacing a legacy ERP with a batch-traceability platform.
A feature-to-product story told in your template's order, ending with two minutes on your domain.
Farm to fork, with the trace broken in the middle.
Avanti Frozen Foods, one of India's largest shrimp exporters, ran on a legacy ERP with no batch-level traceability. This is one real batch through the plant. Watch what happens to it.
- Recalls widen because the source batch cannot be isolated.
- Global buyers demand compliance proof the system cannot produce.
- Planning runs blind: which purchase orders are at risk, which buyers matter this week.
- Who set the goal: PatternLab's founders, with the exporter as joint-venture partner, committed to a traceability-first platform. Strategy was set above me; I owned making it real.
- How it reached me: as a vision and a partner commitment, not a backlog. My translation: founders' vision + SME and demo feedback + market and competitor analysis into a 5-epic MVP roadmap.
A 14-person pod. I ran the cadence.
- What I ran: the backlog and every ceremony, planning through review. How I used the cadence to unblock delivery is the next section.
- With the PM function: roadmap flowed down; evidence flowed back up. The scope call later in this story is that loop working.
- With design: refinement loop. UI variants and completion CTAs were A/B-tested through our Customer Intelligence Dashboard; engineering feasibility fed back before design over-committed.
- With data science and AI: two rules. Deterministic first: no black box, every insight reproducible with an evidence chain. And LLM insight-card prompt testing behind format guardrails.
A vision, a partner commitment, and no backlog.
What arrived was strategy, not a backlog. I turned it into five epics, then specified each so an engineer never had to guess intent.
- Order pool filterable: plant, promise week, buyer tier, risk bucket
- Default sort by priority score; every row shows its top-2 reasons
- Freeze-plan snapshot with day-over-day deltas
- Ranking reproducible from the same inputs
- Machine-readable explanation JSON per PO
- Daily refresh end-to-end under 10 minutes at one plant
The forms stalled. Here is what I changed.
The data-entry forms were foundational, and they stopped moving: the data lived in the client's backend, too many stakeholders touched every decision, and the team was not yet using AI tooling well. I did not escalate and wait. I sequenced it.
Where the uncertainty actually lives.
In an AI product, the honest question is not "is the model right" but "what do we do when we cannot be sure." In every case my answer was a product rule, not model magic.
Mark it, do not guess it
Purchase orders with no derivable promise date are marked Data Incomplete and visibly excluded from the ranking queue. "% of ranked POs using assumptions" is an instrumented KPI: the data mess is exposed and priced, never hidden inside a prediction.
No black box
Every insight had to be reproducible from the knowledge graph with its evidence chain. If it could not be traced back to the rows that produced it, it did not ship. Determinism first, generation second.
Guardrails that actually caught things
Consolidate, then migrate
The source system was 79 tables. Rather than lift the mess into the cloud, we consolidated and closed data endpoints with no determined destination first, and surfaced mass-balance breaks so the graph inherited clean lineage, not hidden gaps.
Two scope calls and one surprise.
Call 1 · Prioritise the MVP
- The call
- Two pods competed for the same people. I prioritised the SeaTrace MVP over the factory-intelligence work.
- Why
- A joint-venture partner was on a committed plan; the MVP protected that commitment.
- The result
- Factory intelligence continued behind it and later became its own product line. The call held up.
Call 2 · Buy the graph, build the value
- The call
- We did not build the knowledge-graph engine ourselves. We partnered with a specialist and contracted their deliverables.
- Why
- Our differentiation was the forms, reports and planning logic on top, not re-implementing graph infrastructure.
The surprise · AI-first velocity
When we gave developers vetted AI coding tools and LLM API access for the forms and schema work, shipping speed jumped visibly and capability compounded sprint over sprint. I now treat developer AI enablement as a delivery lever a Product Owner should pull, not an IT procurement question.
What SeaTrace shipped, and the pod I ran alongside it.
SeaTrace · shipped
- Impact KPI dashboard (Epic 1)
- Batch-traceability core on the knowledge graph
- Data-entry forms + KG reports (Epics 2, 3)
- QC integration + Exports / PO module (Epics 4, 5)
Product-health KPIs designed before launch, not retrofitted:
In parallel · the factory-intelligence pod I also led
The Customer Intelligence product I ran alongside SeaTrace. Being explicit: these engagement gains are its, not the traceability MVP's. Running both in parallel is the point.
Two lessons and one honest do-over.
Explainability buys adoption
Planners trusted the top-2-reasons column before they trusted the score. They would not act on a number they could not interrogate, so deterministic, evidence-chain insights became a product principle, not a nice-to-have.
Data quality is a product surface
Make the mess visible and priced: Data Incomplete flags, mass-balance breaks, instrumented assumptions, and consolidating the source tables before they reached the cloud. Never let a model quietly paper over it.
Standardise earlier, and plan for failure sooner
I built the schema-first workflow reactively, halfway through, after the forms had already stalled. The cost was a sprint I did not need to lose.
- 1Pre-mortem in planning. Take failure feedback from the team in the sprint-planning call itself, or a short call right after, on what is likely to break, before committing the sprint.
- 2Schema-first from sprint 0. Institute the PRD → TRD workflow at the start, not mid-stream when a blocker forces it.
- 3SMEs from day one. Bring the client's subject-matter experts into refinement from the beginning, rather than meeting them at design review.
Same method, your domain.
After my first conversation with ModMed, I tested how fast I could get into your domain. Over a weekend I did what I just described, alone and in miniature.
- Discovery SQL first: a synthetic 6,000-claim warehouse showed roughly 80% of denials trace to causes knowable before submission.
- A working co-pilot: denial risk score on every pre-submission claim, reasons in biller language, predicted denial code, one-click fix with undo.
- Evaluated, not just built: temporal backtest, AUC 0.85, and the operating threshold exposed as a product decision: biller workload against denials caught.
Questions welcome.
Everything shown today is inspectable.
- Live prototype: portfolio-projects-newmed.vercel.app/copilot/
- Full product requirements pack (functional specs, TRD, design requirements, evals & QA): available on request.
Nayan Lal · nayanlal1909@gmail.com · linkedin.com/in/nayan-lal