CourseForward Deployed Engineer: The Complete Course · Course guide · part 4 of 85
Part 4 · Course guide

The Engagement: Larkfield at Harbourline Freight

15 min read·13 Oct 2026

Every lesson in this course is set inside one customer engagement. Both companies are made up. All people, numbers, documents and events in it are fictional and simulated. The real cases that open each lesson are separate, cited, and clearly marked as real.

The two companies

Larkfield Systems is your employer. It sells Larkfield Assist, a platform for building AI assistants over a company's own documents and systems. You are a forward deployed engineer (FDE) at Larkfield. Your job is to make the product work inside a customer's organisation, on their data, against their constraints.

Harbourline Freight is the customer. It is a regional freight carrier based in the north of England. It moves pallets and parcels for about 3,000 business customers and has around 600 staff. It works in pounds sterling, writes dates day first, and follows the bank holidays of England and Wales. Personal data it holds falls under UK data protection law, which gov.uk names as the UK GDPR and the Data Protection Act 2018 (gov.uk/data-protection, checked 9 October 2026). That is context for the story, not legal advice.

The problem

When a delivery goes wrong, it becomes an exception: late, damaged, missing, or sent to the wrong address. Harbourline handles about 1,400 exceptions a week.

  • A claims team of nine works them from a shared spreadsheet, exceptions_master.xlsx, and a shared email inbox.
  • Each exception means looking in three places: the transport management system (TMS), the customer relationship system (CRM), and the email thread.
  • The median time to resolve an exception is 6.5 working days. Only 18% are resolved within 2 working days.
  • About 3.1% of paid claims in the last year were paid wrongly: too much, too little, or not owed.
  • Customers who wait longest are the ones most likely to leave.

Harbourline has bought Larkfield Assist to speed this up. A previous vendor built a website chatbot, ClaimBot, in 2024. It was paused when the budget ran out and nobody uses it.

The target agreed during discovery (Module 3): 70% of exceptions resolved within 2 working days, measured from the TMS and the spreadsheet and judged on the four weeks after handover, with no increase in the share of wrongly paid claims.

What the engagement builds: a claims triage assistant for the clerks. It reads an incoming exception, finds the shipment and the customer across the systems, sorts it by type and urgency, drafts a reply and a proposed payment with the policy it relied on, and leaves every decision about money to a person. It does not reply to customers on its own.

The people

At Harbourline

NameRoleIn the engagement
Carol WhitfieldChief Operating OfficerThe economic buyer. Signed the contract. Wants the resolution time down before the board meeting on 17 September 2026.
Rafael DiasClaims Operations ManagerYour champion. Pushed for the project. His reputation is tied to it. Leaves Harbourline in week 10.
Joan PetrovSenior Claims Clerk, 14 years in the teamThe person who does the work. Built and maintains the spreadsheet. Saw ClaimBot fail.
Dev MistryClaims ClerkPilot user. Owns several open exceptions in the spreadsheet.
Priti KaurClaims ClerkPilot user. The newest clerk; learned the job from Joan's notes.
Viktor HaleHead of IT and SecurityThe gatekeeper. Controls access, networks and what may be deployed. Was not consulted before the contract was signed.
Mei LinData EngineerLooks after the nightly exports and the warehouse. Will own what you build after you leave.
Tom AbaraFinance ControllerApproves claim payments above £500. Cares about wrongly paid claims.
Helen MarshTransport Operations ManagerBecomes the interim owner of the project when Rafael leaves.

At Larkfield

NameRoleIn the engagement
YouForward Deployed EngineerThe only Larkfield engineer on site.
Nadia OkaforEngagement LeadYour manager. Owns the commercial relationship and escalations.
Ben CastellAccount ExecutiveSold the deal. Made some promises in the sales cycle.
Ines VargaProduct Manager, Larkfield AssistDecides what goes into the core product.

Minor characters (a depot supervisor, a customer's site manager) may appear in a single lesson. The main cast above does not change.

Harbourline's systems

SystemWhat it isWhat you will find
TMSTransport management system, installed in 2009, on Harbourline's own serversNo API. A nightly CSV export pushed by SFTP. Column names nobody documented.
CRMA hosted customer relationship systemA REST API with rate limits. Customer names that do not match the TMS.
exceptions_master.xlsxJoan's spreadsheetThe real process. Colour codes, a notes column, and rules that exist only in Joan's head.
Claims inboxA shared mailboxCustomer emails, photos of damage, forwarded threads.
Data warehouseA cloud warehouse fed by Mei's nightly jobsSome of the above, a day late.
Identity providerHarbourline's single sign-onEverything you deploy must use it.
Cloud accountAmazon Web Services (AWS), run by Viktor's teamWhere the claims tool is deployed. Exports land in the S3 bucket harbourline-exports, in eu-west-2 (London).
Finance system (ERP)Owned by Tom's teamWhere payments are made. The assistant may not touch it.
IT service deskOwned by Viktor's teamWhere access requests and change tickets go.
ClaimBotWhat the previous vendor left behind (2024)A paused chatbot and a notes file with out-of-date rules.

The data for all of these is in 06-shared-data.md.

The claims policy

Short on purpose, so that you can check every answer yourself.

RuleDetail
DamageMust be reported within 7 days of delivery, with at least one photo.
Late deliveryIf delivered more than 2 working days after the promised date, the customer is credited 10% of the freight charge.
Missing shipmentDeclared missing after 5 working days with no scan. Then treated as a loss.
Liability cap£2,000 per shipment, unless a higher declared value was recorded at booking.
Wrong addressIf Harbourline's error, redelivered free. If the customer's error, a £35 redelivery fee applies.
ApprovalA clerk may approve payments up to £500. Above that, the Finance Controller approves.

Two rules are not in the policy. They live only in Joan's spreadsheet notes: gold-tier accounts get a late credit without argument, and the hospital (St Mary's) gets a same-day reply. Module 3 writes them down as the hidden rules R1 (gold accounts) and R2 (St Mary's, customer code C-1203, same-day reply).

Colour codes in exceptions_master.xlsx: red means blocked or waiting, amber means a credit is due, green means done.

Dates

  • Course date: Friday 9 October 2026. Model names, prices, laws and documentation were checked on this day. Lessons say "(checked October 2026)".
  • The engagement: Monday 16 March 2026 to Friday 5 June 2026, twelve weeks. Lessons are told in the present tense, as if you are there.
  • The data date: Monday 16 March 2026, your first morning. The shared data is a snapshot from then. Code measures "how late" from that date (DATA_AS_OF), never from the computer's clock.
  • Bank holidays inside the engagement: Good Friday 3 April, Easter Monday 6 April, 4 May and 25 May 2026 (gov.uk, checked 9 October 2026). They are not working days.

Key events

Lessons refer to these events. They are fixed, so that every module tells the same story. Week N starts on the Monday shown.

WhenWeekEvent
January to February 2026BeforeBen promises Carol "deployed in four weeks", suggests the assistant "could reply to customers", and speaks of "fully automated claims". None of these is in the contract.
Friday 27 February 2026BeforeContract signed. Viktor hears about it afterwards.
Monday 16 March1Kickoff. You shadow Joan for the day. The kickoff plan (Module 11) dates the problem statement for 27 March, single sign-on for 17 April, the pilot for Wednesday 22 April and handover for 5 June, with steering every other Thursday from 26 March (26 March, 9 April, 23 April, 7 May, 21 May, 4 June).
Wednesday 18 March1A two-day prototype lets Joan look up an exception across the three systems. Carol sees it and wants it "rolled out on Monday" (23 March).
Thursday 19 March1Rafael rules in writing that the team pays on working days (HD-02). In a corridor he also says the pilot should cover all four exception types (D3, minuted at steering on 9 April).
Wednesday 25 March2The data contract, the data dictionary and Joan's crosswalk of five customers are agreed with Mei and Joan.
Friday 27 March2The problem statement, the baseline and the target are agreed with Rafael and Carol.
Monday 30 March3You request single sign-on and network access, planned for Thursday 2 April.
Wednesday 1 April3Viktor sends a 140-question security questionnaire.
Tuesday 14 April5The security review pack is ready. Viktor reviews it on Thursday 16 April.
Friday 17 April5Access is approved, two weeks later than planned. CR-01 is raised the same day and approved on Monday 20 April: the pilot moves from 22 April to 6 May (9 working days), single sign-on to 30 April, handover unchanged.
Wednesday 22 April6Pilot planning meeting: Mei raises the warehouse cutover; Tom sets his control (every Monday he checks 20 clerk approvals he picks, plus every approval from £400 to £500).
Friday 24 April6The penetration test report arrives. Finding PT-2 blocks the pilot until it is retested.
Tuesday 28 April7The change advisory board approves CHG-0417 (release 0.4.0, window Tuesday 5 May, 18:00). Workshop with the nine clerks on what "urgent" means.
Thursday 30 April7Single sign-on is finished (planned for week 5). Demos to the clerks (10:00) and Carol (15:00); Carol chooses to start on 6 May with week 1 figures flagged. Console rollback rehearsed.
Wednesday 6 May8The pilot starts at 08:30 with three clerks: Joan, Dev and Priti. It covers all four exception types (D3), with late deliveries as the first measured slice. In the same week Mei's team cuts over a warehouse migration, which renames a TMS column.
Friday 8 May8Rafael tells you privately that he is leaving. He tells the claims team on Monday 11 May, and meets Helen the same day.
Tuesday 12 May9A late delivery for St Mary's (HF-91318) is typed correctly but routed to the routine queue. The reply goes out on Thursday 14 May at 11:02. The same-day rule was matched on the TMS spelling of the name, but the pilot read the CRM spelling, so it never fired. Module 3 had written R2 keyed on C-1203, but the week 8 routing rule was copied from the text of Joan's note, which names the hospital, and nothing tested it against R2. No payment was due or made. Trust has to be rebuilt.
Thursday 14 May9St Mary's supplies desk calls and asks for a person's reply before 12:00 on the day.
Friday 15 May9Amber status update; incident email to Rafael and Joan; Rafael's apology to the hospital.
Monday 18 May10Incident review (Rafael, Joan, Mei, Helen); the fix's change ticket is raised; 16:00 call with Carol.
Tuesday 19 May10The fix is ready for review. Carol asks the assistant to "tell them what credit they are owed".
Wednesday 20 May10Carol confirms Helen as interim owner.
Thursday 21 May10Steering and pilot review. D5: Helen owns the project from 26 May. D6 settles CR-02: clerks send drafted credit replies now; automatic sending is priced as new work after 5 June. Rafael hands over in front of Carol.
Friday 22 May10Rafael's last day. Helen Marsh becomes the interim owner from Tuesday 26 May. The weekly summary, emailed to Rafael until now, goes to Helen.
Tuesday 26 May11The St Mary's fix is released (release 0.5.0). Helen's first day as owner.
Wednesday 27 and Thursday 28 May11Mei reruns the eval set; on 28 May she changes a triage rule from the runbook while you watch.
Tuesday 2 June12Release 1.0.0 (CHG-0461), 18:00. Joan and you train the first group of clerks.
Wednesday 3 June12All nine clerks start using the assistant. Joan runs the second training group.
Friday 5 June12The pilot ends. Handover to Mei and the claims team. Helen announces that pilot_compare retires (switched off Friday 19 June).
Saturday 6 JuneAfterHarbourline IT's out-of-hours rota starts. Mei is on leave from 15 to 26 June.
Monday 6 JulyOne month laterYou check whether it is still used. Carol's value page follows on Wednesday 8 July, with Ben's pitch; Nadia closes the commercial file on Friday 10 July.
Thursday 17 SeptemberAfterCarol reports the results to Harbourline's board. On Tuesday 22 September she sends three asks; your plan is due Friday 25 September (Module 15).

Facts that later lessons rely on (simulated)

Lessons add these facts as the engagement goes on. They are kept here so that every module states them the same way. All are fictional.

Systems and environment

  • Mei's nightly job copies the TMS export to tms/ in harbourline-exports with a manifest (row count and checksum). Until access was approved on 17 April, Mei emailed the export each morning (Module 4, Lesson 1). Viktor's team proposes a backup copy in eu-west-1 (Module 4, Lesson 3).
  • Warehouse tables: CONSMST, CUSTMST and a leftover CUSTMST_OLD (Module 4, Lesson 1).
  • The data dictionary, the data contract (8 columns, 5 working days' notice of change, stop the load above 20% quarantined rows) and Joan's crosswalk of five customers, including St Mary's C-1203 to CRM ACC-505, were agreed on 25 March (Module 4, Lesson 2 and lab).
  • Directory groups HF-Claims-Clerks, HF-Claims-Senior, HF-Claims-Managers and HF-Finance-Approvers, deny by default. Service account svc-claims-crm (owned by Mei, secret in AWS Secrets Manager) and IAM role claims-exports-read. ClaimBot's admin account is disabled (Module 6, Lesson 1).
  • Change process: the change advisory board meets on Tuesdays. Access is by VPN plus a jump host. The pilot virtual machine sits in a private subnet with outbound traffic only through proxy.harbourline.example:8080 (Module 6, Lesson 2).
  • Model route for real claims: Amazon Bedrock in Harbourline's own AWS account, region eu-west-2 (London), reached through a VPC endpoint; a self-hosted model is the fallback (Viktor's model register, Module 5, Lesson 2). The course's provider setting (Groq, Gemini or Ollama) runs on simulated data only.
  • Data after 5 June: the engagement's working copies and its data processing agreement end on 5 June (delete or return). After handover, the Larkfield Assist platform processes claims under the subscription's own data processing agreement. This is story context, not legal advice (Module 4, Lesson 3).
  • Larkfield Assist counts lateness in calendar days by default. A harbourline branch has patched sla.py since week 5. Ines decides on a calendar setting by 30 June (Module 13).
  • Larkfield's platform team works in Toronto. Larkfield support runs an out-of-hours rota for platform faults; Harbourline IT covers its own systems (Module 14).
  • Other Larkfield customers named in the course: Ashby Vale Homes (a housing association), Corran Parts (Glasgow, Scottish bank holidays) and Lowther Estates (Module 13).

History and rules

  • Two earlier attempts failed before ClaimBot: a TMS replacement shelved on cost in 2021, and inbox keyword rules added by IT in 2022 and switched off at Joan's request (Module 8, Lesson 1).
  • HF-88207: Atlas claims £4,800. The photos arrived in MSG-3102, but Joan's sheet was never updated and still says "waiting on photos". Module 8 finds and settles the conflict; earlier lessons report what the sheet says.
  • Pilot scope: the signed scope (Module 3) named late deliveries as the first slice. D3 widened the pilot to all four exception types from 6 May, with late deliveries still the first measured slice. D3 should have been a change request (Module 11).
  • Ids that share a letter: D1 to D6 are the decision log (Module 11); D2 there means a person approves every payment (a clerk up to £500, Tom above) and the assistant never replies to customers on its own. Module 2's debt register numbers its own items D1 to D10, and its lab reuses those numbers (D4 is always the calendar question). R1 and R2 are the hidden rules (Module 3); R1 to R5 in Module 11 are risks.
  • Releases: 0.4.0 (CHG-0417, 5 May) starts the pilot; 0.4.1 adds Tom's weekly approval sample and keeps the pilot at three clerks; 0.5.0 (26 May) fixes St Mary's; 1.0.0 (CHG-0461, 2 June) opens it to all nine.

Commercial

  • Fixed price £124,200: 12 calendar weeks at £9,000 a week, bank holidays included, plus 15% for risk. Signed 27 February 2026.
  • Subscription £60,000 a year, platform costs £4,800 a year, Larkfield support days £600 each; renewal 27 February 2027.
  • Loaded day cost: FDE £850, Nadia £1,000. Planned 56 FDE days and 10 of Nadia's; actual 64 and 15. Margin 50.4% planned, 40.4% actual (Module 12).
  • Model prices, the exchange rate and the triage cost (£0.21 a week) are kept only in Module 5, Lesson 1, section 7, the course's one place for prices.

Placeholder people

  • The six clerks other than Joan, Dev and Priti are clerk4 to clerk9. Harbourline IT's out-of-hours engineers are IT-1 to IT-4. Customer contacts from the shared inbox: Ravi Shah (Atlas), Dana Price (Northgate), Sam Okoro (Greenway).

The one-month check (simulated)

On Monday 6 July 2026, one month after handover: 7 of the 9 clerks use the assistant at least once a week, Joan among them. Over the four weeks after handover, 52% of exceptions were resolved within 2 working days, up from 18% but short of the 70% target. The share of wrongly paid claims did not rise. Mei has changed one triage rule on her own, using the runbook, without calling you: a sign that she owns it. Modules 11, 12 and 15 use these numbers; they are the only "after" numbers in the course.

The engagement, module by module

The modules follow the engagement roughly in order, though real engagements loop back. Each one adds a piece to one repository.

ModuleWhere you areWhat you add
1. Engineering FloorBefore you arrive and day 1A project skeleton with tests, CI, Docker Compose and secrets handled properly
2. Speed of DeliveryWeek 1The cross-system lookup prototype, labelled as a prototype, and a written list of the debt it carries
3. Discovery and Problem FramingWeeks 1 to 2Joan's process map, the problem statement, the baseline and the target
4. Their DataWeeks 2 to 4A pipeline that loads the TMS export, matches TMS and CRM customers, and redacts personal data
5. AI and LLM Application WorkWeeks 3 to 8The claims triage assistant: structured triage, policy answers with citations, a human approving, and an eval set built from real exceptions
6. Enterprise IntegrationWeeks 3 to 9Single sign-on, roles mapped to the claims team, service accounts, and a release through Harbourline's change process
7. Security and ComplianceWeeks 3 to 8The threat model, an audit log, and answers to Viktor's questionnaire
8. Domain ImmersionThroughoutA freight glossary, a schema that models exceptions as Harbourline does, and an account of why ClaimBot failed
9. CommunicationThroughoutStatus updates, a design doc, two demo scripts, and the St Mary's incident email
10. Stakeholders and PoliticsWeeks 8 to 10A stakeholder map and the handover plan from Rafael to Helen
11. Delivery ManagementKickoff to handoverThe kickoff plan, risk register, decision log, training and runbook, and the one-month adoption check
12. Commercial AwarenessBefore and afterProof-of-concept exit criteria, an estimate with ranges, and the value delivered in Harbourline's numbers
13. Product Feedback LoopWeeks 10 to 12Product feedback for Ines, one reusable component, and the customisations that stay out of the product
14. Operating in the FieldThroughoutA working plan for site and VPN days, on-call boundaries, and a check that you are not the single point of failure
15. Professional PracticeAfterwardsA post-mortem of your own engagement and your pattern library

What "done" means

One month after you leave, is it still being used, without you?

That is the measure the whole course works towards. Almost every lesson exists to move that number.