Case Study2026-07-01

FieldCommand: Building a farm operations platform from scratch

How I built a 33-page platform to run a 240-field grain operation in 90 days.

The problem

Running EDKO Farms means tracking 240 fields across 15 farm groups in New York and Pennsylvania. Corn, soybeans, wheat, oats, canola, and a small canola block. Every field has a lease structure, a soil type, a 10-year yield history, an insurance policy, and an ongoing story about what got planted, what got sprayed, and what got harvested.

My tools before FieldCommand: QuickBooks Desktop for the books. Excel for yields. A weather app on my phone. A Rolodex of vendors. Handwritten notes in the truck. Nothing tied together. When Nutrien delivered fertilizer to 15 fields on one invoice, I had no way to know the per-acre cost on each field. When I tried to calculate whether corn was more profitable than beans, I had to spend a week reconciling numbers by hand.

I built FieldCommand because I got tired of not knowing what my own operation was doing.

The build

Next.js 14 on Vercel. Supabase for the database and auth. About 90 days of evenings and rainy days. Solo build.

33 pages by the time I stopped counting. The main ones:

What I learned building it

Bills as source of truth. Early on I was tracking fertilizer applications and bills as separate systems. That broke every reconciliation. When I made bills the primary record and applications a view derived from them, everything got simpler. The per-field cost is not calculated from a spec sheet — it is calculated from what I actually paid, split by the fields the product actually went on.

The messy path is the honest path. Real farm data does not fit clean models. Fertilizer intended for corn ends up on a canola field because that is where the leftover product got sprayed. A field gets partial coverage because the sprayer missed corners. An invoice includes freight, tonnage tax, and product on one line. If the software cannot capture that mess, the numbers lie. I ended up with allocation weights, split-crop bills, and multi-invoice combined billing. Ugly on paper, honest in practice.

Domain expertise beats general tooling. I could have used a generic accounting package. But no generic tool would have known that oats and 28-0-0 UAN get tank-mixed at 15 gallons per acre. Or that pre-harvest wheat desiccation costs $16.85 per acre. Or that a canola block getting corn fertilizer as leftover is an accounting event, not a mistake to hide. The specificity is the point.

What it does now

By July 2026, FieldCommand had ingested about $140,000 in fertilizer and manure bills, allocated across the fields they touched. It tracked 27 wheat fields through desiccation. It ran a morning brief every day at 5am. It gave me a per-field profit view I have never had before.

More importantly, it taught me what I did not know about my own operation. Some fields were losing money on inputs alone. Some custom application jobs I thought were profitable were breaking even after cost basis. The manured corn fields were significantly cheaper to grow than the ones getting straight commercial fertilizer, which is not surprising, but I did not know it in dollars until I could see it.

Where I go from here

The operation ends December 2026. I am transitioning to something new. FieldCommand will go dormant, and its lessons will come with me. I know now what it looks like to build software that fits a real business - not a demo, not a hackathon, but something that has to actually work when the sprayer breaks down and the invoice does not match the delivery.

Whatever comes next, I want to work on problems like this one. Where the domain matters. Where the software has to earn its place. Where nobody has built it yet because it looked too specific to be worth doing.

Want to talk about it? kosajoshua@gmail.com