Swiss {ai} Weeks · Hackathon Liebefeld · 2025

Farmly

Farmly

Farm logistics with an agentic assistant on Apertus, the open Swiss language model — orders taken in a chat, routes planned the moment a shipment exists, and the delivery tracked live across Bern.

A delivery is easy to promise and hard to keep track of.

Between an order arriving and the van pulling up there is a chain of small handovers — someone takes the request, someone turns it into a stop on a route, someone tells the customer when it will land. Every handover is a place where the answer to «where is my delivery?» goes stale. Farmly collapses that chain into one conversation: the order is taken by an agent that asks for what it needs, the route is planned the moment the shipment exists, and one record drives both the driver's map and the customer's status.

Swiss {ai} Weeks

Built at

Swiss {ai} Weeks

The Swiss {ai} Weeks are the largest open AI movement in Switzerland — over 150 events, hackathons and workshops across more than ten cities. Farmly was built at one of those hackathons, in Liebefeld.

swiss-ai-weeks.ch

Brand: Swiss {ai} Weeks · image via ggba.swiss

Our Solution

The whole thing is one app. Scroll, and it gets used.

Nachrichten
Telefon
Kamera
Karten
Wetter
Fotos
Musik
Notizen

It starts on the home screen

The widget carries the next delivery without the app being open: twenty-five minutes out, seventy per cent of the way there. Tap it, or just keep scrolling.

Tech stack & data flow

Everything runs through our own Flask server: the chat message arrives as JSON, Apertus decides what to do with it, OpenRouteService plans the drive, and Firestore holds the one record the app reads back.

App · Flutter

Our server

External

Flutter

Chat UI

Flutter · agentic chat

Flask

main_api.py

Flask · JSON endpoints

Python

apertus_agent.py

builds the AI prompts

Apertus

agent & route planner (LLM)

Python

route_calculation.py

sets smart waypoints

OpenRouteService

routing engine

Firebase

Firebase

Firestore · shipments & routes

Flutter

Flutter app

shipment list & map

The request

The driver asks in the Flutter chat. The message travels as JSON through Flask into our own server, where every function comes together.

The decision

apertus_agent.py builds the prompt and Apertus picks the action. For a delivery, route_calculation.py sets the waypoints through OpenRouteService.

The record

Shipments and routes are written to Firestore as documents — one record behind the driver’s map and the customer’s status alike.