A farmer orders feed at five in the morning, not during office hours
A cattle feed ordering app with repeat orders, claims and billing history – web for the supplier's staff, mobile for farmers.
- Web + mobile
- Applications
A cattle farmer plans the day around feeding, not around the supplier’s opening hours. The decision to order feed is made at the morning round, when you can see what is left in the silo. At seven in the morning nobody picks up the phone at head office.
What it looked like before
Orders came in by phone and fax, during office hours. The farmer called, a clerk wrote it down, then retyped it into the system. For a repeat order – and in livestock farming most orders repeat – the same conversation happened every fortnight, with the same mix and the same quantity.
Claims worked the same way. Raised verbally, noted by someone, answered a few days later. In a dispute over a batch of feed it was not always possible to establish when the claim was actually made.
Bröring, a German feed supplier, wanted a process that did not need a human in the middle of every repetition.
What we built
Two applications on one foundation: web for the supplier’s back office, mobile for farmers.
Placing an order. A feed catalogue with the prices that apply to that particular buyer, with orders placed from a phone at any hour.
Repeat orders. The previous order repeats in one action, with the option to adjust quantity. This is the most used feature in systems like this, because it matches the real buying cycle.
Current order view. Status, delivery date and composition – without a call asking whether it is coming tomorrow.
Claims and callbacks. Raised in the app, with the date and the content recorded on both sides.
Billing and deliveries. The farmer sees invoices and delivery history in the same place where they order.
What changes day to day
On the supplier’s side, retyping disappears. An order placed by the farmer lands in the system exactly as they placed it, so there is no room for a transcription error. Customer service deals with exceptions instead of repetitions.
On the farmer’s side, availability changes. An order can be placed at the moment the decision is made – at the silo at five in the morning, rather than four hours later when it has been forgotten.
We do not have the client’s order volumes before and after. The mechanism is familiar from any self-service channel, though: some of the orders that used to be put off until later now simply happen.
Why we built it this way
The mobile version was built from the same codebase as the web one rather than as a separate product. With two independent applications every price change or ordering rule would have to be implemented twice, and sooner or later they drift apart. The app also works on a weak connection, which on a farm outside town is not a technical detail but a condition for it being used at all.
Show the technology stack
- Angular
- Ngrx
- RxJS
- TypeScript
- PWA
- Angular Material
- Ionic
- Capacitor
- Transloco
- Java 11
- Spring Boot
- PostgreSQL
- Redis
- RabbitMQ