Inspiration

FarmSmart was inspired by the information gap between Canadian farmers and large buyers. Farmers may know their crops and production costs, but without clear access to broader market prices and demand, it can be difficult to judge whether an offer is fair.

Our goal is to reduce information asymmetry so Canadian farmers can negotiate with greater confidence and are less vulnerable to unfair pricing from large chains.

We started by asking: what if farmers could compare selling channels, understand the costs behind each offer, and recognize when they have a better option?

What it does

FarmSmart is an agricultural market simulator that helps users practise selling crops to wholesalers, retailers, and restaurants.

Across a seven-day season, players manage a multi-crop inventory, compare buyer offers, and decide whether to sell or hold. Changing demand and daily scenarios introduce uncertainty, while delivery fees, storage costs, freshness, and spoilage reveal why the highest advertised price may not produce the best return.

The platform makes these tradeoffs visible through price breakdowns, buyer comparisons, charts, and transaction history.

Today, FarmSmart uses simulated data. Our longer-term vision is a platform powered by a real-time market-data pipeline that gives Canadian farmers the information they need to assess offers and strengthen their bargaining position.

How we built it

We built FarmSmart using Next.js, React, and TypeScript, with Tailwind CSS and Radix UI components for the interface and Recharts for visualizations.

A separate TypeScript simulation engine handles pricing, inventory, selling costs, daily events, and season results. Zustand manages application state, and browser localStorage saves progress.

The prototype supports 42 crops and three buyer channels. Its pricing breakdown shows how market conditions, buyer channel, freshness, demand, and scenarios affect each offer. Seeded market generation keeps quotes consistent across reloads.

We added tests for transaction validation, accounting, buyer comparisons, daily transitions, and saved-game restoration.

Challenges we ran into

Our biggest challenge was translating a broad mission—fairer access to market information—into a focused, working prototype. We chose to build the decision-making experience first, using simulated conditions to demonstrate how access to information can change a selling strategy.

Another challenge was making comparisons meaningful. A higher price per kilogram can hide delivery fees or limited buying capacity. We built comparisons around the same order quantity and showed the net return after selling costs.

We also had to balance detail with usability. Guided onboarding, expandable price explanations, and overnight cost previews help users understand the simulation without needing to absorb every rule at once.

Accomplishments that we're proud of

We built a playable prototype that makes the reasoning behind selling decisions visible. Users can compare alternatives, inspect how offers are calculated, and see the consequences of selling now or waiting.

We are proud that FarmSmart gives our larger mission a concrete starting point: helping farmers understand their options and question whether an offer reflects the market.

What we learned

We learned that transparency means more than showing a market price. Useful information must also account for selling costs, buyer constraints, timing, and the condition of the crop.

We also learned to distinguish clearly between what our prototype demonstrates and what the future platform must deliver. The simulator provides a foundation for exploring decisions; reducing real-world information asymmetry will require reliable, timely, and relevant market data.

What's next for FarmSmart

Our next major step is to build a real-time market-data pipeline that collects, standardizes, and updates information relevant to Canadian farmers.

We want to bring together market prices, supply and demand signals, and regional conditions so farmers can compare buyer offers against a broader market picture. Data freshness, source transparency, and comparable units will be essential to making that information useful.

We also plan to work with farmers to understand which information would best support their negotiations and selling decisions.

FarmSmart's mission is to reduce the information advantage held by large buyers and help Canadian farmers negotiate fairer prices for their harvests.

Built With

Share this project:

Updates

Submission history