Inspiration

Farmers are the backbone of our food supply, but many still have to plan around many complicated and unforeseen factors such as weather, workers, and drying conditions manually.

Shallots are especially sensitive. The work does not stop after harvesting. They also need to be moved, dried, monitored, and protected from rain. When the weather changes, the whole plan can change with it.

We built TUNAS around one simple idea:

Just because we cannot see the future does not mean we cannot prepare for it.

We are three college students trying to see whether AI can reduce some of that planning burden.

What TUNAS Does

TUNAS is a weather-aware AI assistant for shallot harvest and drying operations.

A farmer describes a goal, such as:

“A buyer needs 500 kilograms by Friday.”

TUNAS combines that request with farm data, worker availability, weather, buyer deadlines, drying needs, and calendar availability. It then proposes an explainable harvest plan.

After approval, the plan is added to Google Calendar. If the weather changes, TUNAS can suggest adjustments, but it never changes the farmer’s schedule without permission.

How We Built It

For the frontend, we used:

  • React
  • TypeScript
  • Tailwind CSS
  • shadcn/ui

For the backend and database, we used:

  • Express
  • Supabase
  • Prisma
  • Zod

For the main AI workflow and integrations, we used:

  • LangChain for planning and tool coordination
  • Open-Meteo for weather data
  • Google Calendar API for scheduling approved plans

We also added basic safety rules. Completed steps stay unchanged, only future steps can be revised, and every schedule change needs farmer approval.

Challenges We Ran Into

The hardest part was making the AI workflow consistent.

Getting an LLM to generate one plan is easy. Getting it to produce structured plans, respect constraints, remember mission progress, and avoid changing the wrong things is much harder.

We also had to make the app fit the farmer’s existing workflow. We did not want to build another dashboard that gives advice and then leaves the farmer to figure everything out.

Another challenge was balancing initiative and control. TUNAS should notice problems and suggest changes by itself, but the farmer should always make the final decision.

What We Are Proud Of

TUNAS does more than display weather or generate generic advice.

It can:

  • understand a farmer’s harvest goal explained naturally
  • combine weather, workers, buyer deadlines, and drying constraints
  • create a harvest and drying schedule based on farm context
  • explain its recommendation and why it chose what it did
  • add approved activities to Google Calendar (if connected, optional.)
  • alert farmer automatically if it detects weather changes
  • suggest updates to future activities
  • record actual mission results and keep in memory to learn from past harvests (self learning)

We are especially proud that the system treats harvesting and drying as one connected process.

What We Learned

We learned that farmer workflows are much more complicated than simply choosing when to harvest. One weather change can affect workers, quantity, buyer commitments, and drying plans.

We also learned how sensitive shallots are after harvesting and why drying and rain protection matter just as much as the harvest itself.

Technically, we learned that agentic AI is not just an LLM connected to a few APIs. It needs clear state, structured outputs, validation, tools, rules, and approval boundaries.

Most importantly, we learned to keep the scope realistic. Instead of trying to solve every agricultural problem, we focused on one crop and one clear workflow.

What’s Next for TUNAS

The current version is still an MVP.

Next, we would improve:

  • worker and harvest-duration estimates
  • drying-capacity planning
  • low-connectivity support
  • notifications through tools farmers already use
  • collaboration for farmer groups
  • learning from more completed harvest missions
  • support for other crops after validating the shallot workflow

TUNAS is not meant to replace farmers or pretend AI understands the field better than they do.

It is meant to help them plan, adapt, and make decisions with less guesswork.

Built With

Share this project:

Updates