
Sourcing and harvesting
We collect from your systems and archives, and compile and clean publicly available data. Every source is recorded.
Centre-pivot farms, southern Egypt
We source, clean and structure data for AI training, then build, fine-tune and deploy the models that run on it.

Data we prepare
Preparation is most of the work in any training run, and most of what we do. We take data from wherever it lives to a dataset a model can learn from.
Surveys, census, labour, household and market data.
Satellite and aerial imagery, GIS layers, location traces.
Instrument output, lab records, papers and research datasets.
CAD models, simulations, sensor logs and specifications.
Contracts, case law, regulation, filings and legal opinions.
Financial statements, transactions, pricing and risk data.
Process logs, tickets and tool use that show how work gets done.
Customer records, deal history, support cases and account notes.

We collect from your systems and archives, and compile and clean publicly available data. Every source is recorded.
Centre-pivot farms, southern Egypt
Deduplication, PII redaction, language and quality filtering, then conversion to the format your training stack reads.

Reviewers label, rank and grade examples against written rubrics.
Versioned shards with full lineage. Ready for your own team, or for an AI lab if you choose to go further.

Pick an example and follow one record from raw files to a model in production. The same path works for scientific, engineering and sensor data.
We gather the scattered pieces: scanned field surveys, GPS points from enumerators and the satellite imagery over each plot. Each file gets a provenance record on arrival.
[scanned form, page 2 of 4] (example)
Household ID 07-114-2
Plot no. 3 Area ~1.5 acre
Main crop maize / sweet potato
Planted "after first rains"
Harvest 23 bags x 50 kg
GPS -13.98213, 33.78654
Respondent [name, signature]
Enumerator note plot shared w/ brotherForms are read and translated, households de-identified before labelling, units standardised and cloudy satellite scenes masked out.
plot_id p_7f3a91
household [HH_ID] respondent removed
crops maize, sweet potato (intercrop)
area_ha 0.61 from "~1.5 acre"
planted 2024-W46 from "after first rains"
yield_kg 1,150 from "23 bags x 50 kg"
location snapped to plot boundary
imagery 14 scenes, 5 masked (cloud)Each plot becomes one training example: survey answers, a season of imagery and rainfall. Whole regions are held out for testing, so the model is judged on places it has never seen.
{
"plot_id": "p_7f3a91",
"split": "train",
"season": "2024-25",
"imagery": {
"sensors": ["Landsat 8/9", "Sentinel-2"],
"scenes": 9,
"bands": ["red", "nir", "swir1"]
},
"rainfall_mm": [12, 48, 103, 96, ...],
"label": { "crop": "maize", "yield_t_ha": 1.89 }
}Reviewers check crop labels against the imagery and flag yields that don't fit the field. Disagreements go to a senior reviewer, not averaged away.
{
"plot_id": "p_7f3a91",
"checks": {
"crop_matches_imagery": true,
"yield_plausible": true,
"intercrop": "maize dominant"
},
"reviewers": ["reviewer_04", "reviewer_11"],
"agreement": "full",
"pii_scan": "pass"
}We fine-tune a model that reads a season of imagery and weather, and test it on held-out regions before anything ships.
# training run (example)
task crop type + yield per plot
inputs imagery time series, rainfall,
soil and elevation layers
model geospatial foundation model,
fine-tuned
evals
- yield error on held-out regions
- crop-type accuracy by district
promote_if beats the survey-only baselineEach season the model maps expected yields across a whole region before harvest. New field surveys flow back in to keep it accurate.
# seasonal deployment (example)
model crop-yield v4
runs on every new satellite pass
output yield map per plot and district
timing estimates ahead of harvest
access API and GIS layer for analysts
monitoring drift against new field surveys
feedback new surveys -> review queue[scanned form, page 2 of 4] (example)
Household ID 07-114-2
Plot no. 3 Area ~1.5 acre
Main crop maize / sweet potato
Planted "after first rains"
Harvest 23 bags x 50 kg
GPS -13.98213, 33.78654
Respondent [name, signature]
Enumerator note plot shared w/ brotherWe take a model from first training run to a live, monitored endpoint, on our infrastructure or yours.

We extend open base models on your corpus, on GPUs we arrange or in your own cloud account, with evaluation at every checkpoint.

Labs need specialised, rights-cleared data. If you want, we prepare yours to their standards and introduce you to labs that license training data.
How licensing worksEach dataset carries its sources, licences and the transformations applied, so it can be audited back to origin.
Personal and confidential data is de-identified and redacted before delivery.
The full pipeline can run in your cloud account or on-premise. Raw data never has to leave your network.
Every licensed dataset ships with a data card and a written licence. No ambiguity about who can train on what.
Yes. Many projects start there. You can take the prepared dataset to your own team, train with us, or both.
A short note about your data or your model goals is enough to start. We reply with next steps, and a time to talk if it helps.
Prefer email?
hello@dataonearth.com