Case study Arboriculture · Lyon, France · Field app

A tree is an asset.
Somebody has to prove it is safe.

ArboWild survey and treat trees for French towns and property managers. The legal weight sits in the record: what was inspected, when, by whom, and what was recommended. We built the app that carries it, from a tablet under a tree to a signed report on a mairie's desk.

ArboWild
Live on their own domain · hosted in the EU
Mature tree canopy
Tree inventory
Species referential
49
Data stays in
eu-west-1
3
roles, one login screen
2
capture modes, one record
49
species, plus free entry
EU
hosting, written into the contract
Manan Mehta with the AI Crew team in the Mumbai office
From our office
AI is what we build, not who we are.

60 people across Mumbai, Paris, Lyon and Toronto. Every tool on this site was made by them before it reached a client.

Tree canopy from below
The constraint: the person capturing the data is up a slope, in the rain, holding a tablet, often with no signal.
01 · The situation

The survey is the easy part. The record is the product.

A town hires an arborist because a branch over a playground is a liability. What they are actually buying is a defensible document: this tree, this date, this condition, this recommendation. Guillaume had the expertise and a working version of the idea in a no-code tool. What he did not have was something he could put in front of a client and charge for.

signal_wifi_off
No signal under a canopy

Capture cannot depend on a connection. It has to work offline and catch up later on its own.

gavel
The record has legal weight

If a tree comes down, the file is the defence. It has to be dated, attributed and unedited after the fact.

shield
French public clients

A mairie asks where the data physically sits before it asks what the app does.

02 · What we built

One app. Three people who need different things.

The office pilots the whole portfolio. The field operator captures and nothing else. The client sees their own trees and only their own trees, enforced in the database rather than in the interface.

Role based sign in
Role 01
The office

Multi-client pilotage, inventory, restitutions and the works schedule. The only role that can create a client and issue their access.

Field capture
Role 02
The field operator

Capture in two depths, inventory and interventions. No restitution, no pricing, nothing that is not needed with a tablet in one hand.

Client account creation
Role 03
The client

A town or a property manager, read only, scoped to their own patrimony. Isolation is guaranteed at database level, not by hiding a menu.

account_treeHow Arborescence works

From a tablet under a tree to a report on a town hall's desk.

One record per tree, written by three people who each see only what they need.

Comes in
tabletField operator, offlineSyncs when there is signal
photo_cameraPhoto, species, size49 species plus free entry
Located on the mapMap and list are one screen
park

Arborescence

One record per tree, hosted in the EU.

  • check_circleQuick survey and full diagnostic, one record
  • check_circleP1 to P4 priority only if there is a target
  • check_circleFelled trees are archived, never deleted
Goes out
picture_as_pdfBranded restitutionWith the bordereau of works
table_viewCSV exportFor the client's own systems
verified_userClient login, read onlyTheir trees, isolated
Operator
my_location01Locate and identify

Plaquette number, species, height, diameter, photo. Works with no signal.

Operator
flag02Flag for expertise

Anything marked goes straight onto the diagnostic worklist.

Arborist
fact_check03Complete the diagnostic

Same record, completed not recreated. Crown, cavities, target, priority.

Office
event_note04Schedule the works

The intervention list follows the French UNEP standard.

Office
picture_as_pdf05Issue the restitution

Branded cover page and bordereau of works, printable and exportable.

Client
visibility06The town sees its trees

Read only, scoped to their own patrimony, enforced in the database.

Built withSupabase eu-west-1shieldRow level securitycloud_offOffline capture queueLeaflet mappingtranslateFR and ENpicture_as_pdfPrint to PDF
03 · The idea that made it work

Two modes. One record.

Référencement is fast: locate it, identify it, photograph it, flag it. Diagnostic is the full expert assessment. The mistake most tools make is treating them as two databases that then have to be reconciled. Here they write into the same record, and the status is what links them.

01
Référencement

Plaquette number, species, height, diameter, photo. Binary triage only, no priority scoring yet.

02
Flagged for expertise

Anything the operator marks feeds straight onto the diagnostic worklist. Nothing gets forgotten in a notebook.

03
Diagnostic

The same record is completed, not recreated. Stage, physiology, crown, cavities, bracing, target, and a P1 to P4 priority.

04
Restitution

The client cover page and the bordereau of works, branded, printable, exportable to CSV.

Inventory list with priority flags
Map and list are one screen

Same data, same filters, two ways of looking. Switching view never loses the filter you set.

One entry
Plaquette numbers are a global pool

Prefilled with the next free number, unique across the whole estate, and retired with the tree. Never reassigned.

Enforced
No target, no priority

Risk intensity only appears once there is a human target underneath. A dangerous tree in an empty field is not an emergency.

Conditional
Works follow the French standard

The intervention list is aligned to UNEP P.E.1-R0 by objective, so the bordereau reads like the profession expects.

UNEP
04 · The rule we will not bend

A felled tree is archived. It is never deleted.

Why it matters

The one record anybody will ever ask for is the tree that came down. Delete it and the history goes with it, which is precisely the history that proves the work was done properly.

How it works

Felled and stumped are dated terminal states with a cause: following our recommendation, or a third party and storm damage. The tree leaves the active inventory and the KPIs, and stays fully viewable behind a filter.

Every change keeps its date

Each state change writes into a revisit history on the record, so the file reads as a timeline rather than a current snapshot.

Records reopen, they do not fork

Completing a diagnostic on a referenced tree edits that tree. There is never a second copy to reconcile later.

Case studies · built by the crew

More case studies. All live.

All case studies
05 · What changed

From a personal tool to something he can sell.

Before
  • closeA no-code build only he could run
  • closeNo client login, so no way to hand over a result
  • closeReports assembled by hand after the fact
After
  • checkNamed accounts per client, isolated at database level
  • checkBranded PDF restitution and CSV export from the app
  • checkOn his own domain, with transactional email on it
Supabase eu-west-1Row level securityOffline capture queueLeaflet mappingFR and ENPrint to PDF
How it got here
  • Something to argue with

    Built from his own specification documents, so he had something concrete to react to rather than a list of questions.

  • His feedback, in numbered lots

    Field capture, security and privacy, back end and continuity, brand. Twenty registered items, worked in order.

  • Re-platformed for real clients

    Moved onto Postgres with authentication and row level security, so client isolation could be proven rather than promised.

  • EU hosting, locked

    A written commitment on a paid contract. It was breached once by a platform change, caught, and reverted the next day.

  • On his own domain

    Subdomain, SSL, and transactional email for welcome and password reset sending from his own address.

"On ne peut plus rester sur un service entre amis."

Guillaume, proposing the move to a paid engagement himself