# Crop-risk scores from a partner's proprietary model, shipped in a week with Claude Code

> A platform that tells growers how exposed their crop was to an environmental event, and how likely the harvest is to be damaged. The data ingestion and the app are ours; the science stays with a specialist partner's proprietary model. Built entirely with Claude Code, shipped in a week.

- Client: An Australian agriculture business (Agriculture)
- Role: Architect and lead engineer, Nicolas Dao
- Status: Live. At Cloudless Labs
- Capabilities: Agentic programming, Data ingestion, Data lake, System integration
- Web page: https://cloudlesslabs.com/work/crop-risk-platform/

## Outcomes

- Shipped in one week, 100% of the code written with Claude Code under our specification and review.
- Field measurements ingested at scale into a data lake and PostgreSQL.
- A clean boundary that keeps a scientific partner's intellectual property on its side, and everyone's trust.

## The situation

When something in the environment hits a growing region, producers need to know how exposed their crop was, and how likely it is to be damaged, before they spend money harvesting and processing it.

The analysis that turns field measurements into a risk score belongs to a scientific partner. Their model is their intellectual property, and they weren't going to hand it over.

## What we built

- **Ingestion at scale** of the measurement payloads, into a data lake for analysis and a PostgreSQL database for the application. We've built this kind of pipeline many times ([an example](https://cloudlesslabs.com/work/realtime-iot/index.md)).
- **A clean boundary for the science.** We send the data to the scientific partner, their model computes the insight on their side, and they send back the results, which we store and present. The valuable analysis never runs on our systems. We're the data and application provider, they keep their IP, and each side can trust the arrangement.
- **A web app that doubles as an admin panel,** for the client's users and for managing them.
- **Infrastructure in code** with Pulumi, like every system we build.

## How it was built

Entirely with Claude Code, and shipped in a week. That isn't a shortcut on quality: it's what agentic programming looks like after years of practice. We wrote the specification, set the architecture and the standards, and reviewed what the agent produced. The routine parts of the system, which we'd built by hand many times before, took hours instead of weeks.

## Why it matters to you

Two lessons. When a partner's IP is the product, design the boundary first and the rest follows. And a well-specified system of this size no longer takes a quarter to deliver: it takes a week.

## Built with

- [Amazon Web Services (AWS)](https://cloudlesslabs.com/stack/aws/index.md): My default in The Stack
- [AWS Lambda](https://cloudlesslabs.com/stack/aws-lambda/index.md): My default in The Stack
- [Amazon S3](https://cloudlesslabs.com/stack/aws-s3/index.md): My default in The Stack
- [S3 + Glue + Athena](https://cloudlesslabs.com/stack/aws-athena-data-lake/index.md): Use when it fits in The Stack
- [Claude Code](https://cloudlesslabs.com/stack/claude-code/index.md): My default in The Stack
- [Pulumi](https://cloudlesslabs.com/stack/pulumi/index.md): My default in The Stack
- PostgreSQL
- Third-party scientific model
- Admin panel

## Related

- [Athena or DuckDB?](https://cloudlesslabs.com/stack/guides/data-lake/index.md): the decision guide behind it
- [Forecasting a weather-driven risk for farmers, from a research paper to agents](https://cloudlesslabs.com/work/research-to-forecasts/index.md): a related project
- [BobNinja, serious software that runs entirely in your browser](https://cloudlesslabs.com/work/bobninja/index.md): a related project
- [Every project](https://cloudlesslabs.com/work/index.md)
- [How we work](https://cloudlesslabs.com/about/how-we-work/index.md)
- [Map of every Markdown file on cloudlesslabs.com, with what each one answers](https://ask.cloudlesslabs.com)
