Case study · SeedLinked
Client project · AugmentProject period2022 – 2025
AI enrichment workflow
Implemented a LangChain-based AI enrichment workflow, orchestrated with GCP Workflows, to transform collected seed data into structured descriptions covering strengths, weaknesses, growth and yield, flavor and appearance, disease resistance, maturity, and growing conditions, with human review before approval and persistence.
01
Why
The client team wrote every description by hand. Most of the text came from the external sources anyway, and when they approved a record they rewrote sentences to make them clearer for the reader. They thought: why not integrate AI? It simplifies the whole process and saves a lot of time.
02
Decision
A LangChain workflow with Gemini turns the collected data into structured descriptions: strengths, weaknesses, growth and yield, flavor and appearance, disease resistance, maturity and growing conditions.
- GCP Workflows coordinates the steps. Each step is a Cloud Run function that is triggered by the action before it. That makes the flow flexible and easy to maintain, and it's easy to see each result and to debug. It's also consistent and solid, so I didn't look at other options. New records arrive through a Cloud Tasks queue, which retries a failed step instead of losing it.
- Gemini because my company is a Google partner and uses Google's products for every client.
- A person approves before anything is published. Approved data is saved to MongoDB. Rejected data is removed from the flow and from its stored data.
- Monitoring. LangSmith records each production run and alerts the backend, which posts the alert to Slack.
How it fits
Hover or focus a box for the story behind it.
On a schedule, the server scrapes the sources and skips records it already has. New records go into a Cloud Tasks queue. The AI step writes structured descriptions covering strengths, weaknesses, growth and yield, flavor and appearance, disease resistance, maturity and growing conditions, and a person approves or rejects them. Approved data is saved to MongoDB and rejected data is removed. If a step fails, the item goes back to the queue and is retried. LangSmith watches each run and can alert Slack through the backend.
03
Alternatives considered
- The client team writing the descriptions, which is how it was before.
- An automatic quality check instead of the human approval. It would be easy: if the quality is poor, the workflow goes back and tries again. The client wanted a person to approve every record, and it's the client's call, so we didn't build the automatic check.
- Other AI models. We use Gemini because of the Google partnership.
04
What I built
Designed and implemented an automated workflow for processing newly discovered seed information and transforming raw externally collected data into enriched seed content suitable for the platform.
The workflow followed a multi-stage process:
External Sources → Data Extraction → Scheduled New-Data Detection → AI Enrichment → Human Review → Approval / Rejection → Database
After new seed information was collected from external sources, scheduled backend processing identified newly arrived data and passed it through an AI-assisted enrichment process.
The AI analyzed the available seed information and generated structured descriptions across relevant characteristics, including:
- Strengths
- Weaknesses
- Growth and yield
- Flavor and appearance
- Disease resistance
- Maturity
- Growing conditions
Rather than allowing AI-generated information to be published directly, incorporated a human-in-the-loop approval stage into the workflow.
Approved seed information was persisted to the application's database and made available for application use. Rejected information was removed from the processing flow and associated stored data.
Used GCP Workflows to coordinate the different stages of the processing pipeline.
05
Trade-offs
- A person has to review every record, which takes time. The client chose that on purpose.
- Gemini only, because of the company's Google partnership.
06
Outcome
The description process is simpler and faster, and generated content reaches the site only after a person approves it.