Customer Discovery: Before the First Line of Code

March 03, 2026 · 14 min read

“You’re not the first city kid with this idea,” Dave Morrison said.

Maya stood at the kitchen bench in her flat in Fremantle, phone against her ear, looking at the tomato she’d bought from the supermarket on the way home from work. It was pale and mealy. The lettuce beside it was wrapped in plastic and had been picked four days ago in another state. She knew, because she’d grown up on a farm, because her hands remembered what a good tomato felt like, that there were farms within fifty kilometres growing produce that was better in every way. She just couldn’t get it. Not easily, not regularly, not without driving to a farmers’ market on a Saturday morning and hoping for the best.

That was the idea she’d just finished pitching down the phone: a weekly subscription box. Fresh seasonal vegetables, sourced from farms within fifty kilometres, delivered to your door every Thursday. The farms get a reliable buyer at a fair price. The customer gets produce they can trust without thinking about it. The middleman (the wholesaler, the supermarket) gets cut out.

Dave had heard her out. Then he’d delivered his verdict about city kids.

“I’m not a city kid, Dave. You’ve known me since I was twelve.”

A long pause. Dave’s pauses carried more information than most people’s paragraphs.

“Fair point. But the idea’s still not new. I’ve watched three co-ops and two startups promise to fix farm distribution. All of them ran out of money.”

“What was different about them?”

Another pause. “They didn’t understand farming. They thought it was a supply chain problem. It’s not. It’s a relationship problem. Farms don’t produce on demand. We produce what the season gives us, and then we figure out who wants it.”

“I know that.”

“You know it because you grew up on a farm. They didn’t.”

Dave was a third-generation farmer near Margaret River: fifty-eight, laconic, careful with words, and deeply sceptical of anything that came from the city. He’d survived droughts, frosts, a global financial crisis, and two decades of supermarket price pressure. He’d seen the co-ops come and go. He’d watched startups promise to “disrupt” agriculture and then disappear when the venture capital ran out. He was also the first call Maya made, because if the idea couldn’t survive Dave, it couldn’t survive.

He didn’t say yes. He didn’t say no. He said: “Come down to the farm. Bring your spreadsheet. I’ll tell you what’s wrong with it.”

Margaret River

Maya’s earliest memories are of dirt under her fingernails and the sound of her father’s ute on the gravel road before dawn.

The farm was sixty acres outside Margaret River: dairy originally, then mixed organic produce after her parents made the conversion. Her parents had emigrated from Taiwan in the early eighties, bought the cheapest land they could find in a place where nobody would tell them they didn’t belong, and built something with their hands. The conversion nearly bankrupted them: two seasons of no income while they learned new skills, her mother picking up extra shifts at the local school canteen, her father up at four every morning teaching himself soil chemistry from library books and a Mandarin agricultural manual he’d brought in his suitcase. By the time Maya was ten, the farm was producing vegetables that restaurants in Margaret River asked for by name. The rest went to the Saturday farmers’ market: a trestle table, a hand-painted sign, two stalls down from the Morrisons, whose family had been working the same soil since 1962. Maya worked the market from age twelve. She learned to make change, to explain what kohlrabi was, and to smile when tourists asked if the vegetables were “really organic” in a tone that meant they didn’t believe her.

She also learned something about distribution that she wouldn’t have words for until much later: the gap between what the farm produced and what people could actually buy. Her parents grew beautiful produce. The restaurants took a small percentage. The market took a Saturday. The rest (the bulk of what they grew) went to a wholesaler who paid them barely enough to cover costs. The supermarkets took 40% margins and put their produce next to imported tomatoes from Queensland at half the price. The economics were brutal. The quality was irrelevant to anyone who wasn’t standing at the market stall on a Saturday morning, holding a bunch of carrots and tasting the difference.

Maya left for Perth at eighteen. Computer science at UWA, honours, then a decade of technical advisory work at a consulting firm, building systems for companies that were always larger, richer, and less interesting than they appeared from the outside: mining companies, insurance firms, a state government department that needed a new payroll system and took three years to get one. She learned to translate between business people and technical people. She learned that the hardest problems in software were never about software. She learned to dress for offices, to present to boards, and to eat lunch at her desk without getting crumbs on client deliverables. She was good at consulting. She was not passionate about it.

The idea arrived the way most ideas arrive: not in a flash, but as a slow accumulation of irritation. Maya was thirty-one, living in Fremantle with her partner Nadia, buying supermarket vegetables that would have embarrassed her parents, while Dave sold most of his crop to a wholesaler and whatever was left at the market, and Rachel, who ran a smaller mixed farm nearby, did the same. Both farms produced food that was extraordinary. Neither had a way to get it to the people who would value it most.

Maya wrote the idea on a napkin at a cafe in Fremantle. Then she wrote it again, more carefully, in a notebook. Then she opened a spreadsheet and started modelling costs. The spreadsheet grew over three months, in the evenings after Nadia went to bed, at the kitchen table with a cup of tea and the quiet focus of someone who knows they’re building something real.

Then she called Dave.

The visit

Maya drove down on a Saturday. Dave walked her through the operation: the fields, the packing shed, the cold storage. He showed her the wholesale orders, the market prep, the waste. Produce that didn’t sell at market. Produce that was too small or too oddly shaped for the wholesaler. Produce that was perfect but had no buyer.

“You see those crates?” Dave pointed to a stack of weathered green plastic crates by the packing shed door. The kind farms use everywhere: stackable, reusable, the colour of sun-faded gum leaves. “That’s what I send produce in. Twenty-odd years I’ve been using those crates. They go to market, they come home, they go out again.”

Maya looked at the crates. Green, sturdy, practical. A farm thing. A real thing.

“Greenbox,” she said.

Dave raised an eyebrow.

“That’s the name. Greenbox.”

“It’s a crate.”

“It’s a box. A green box. With produce in it, delivered to someone’s door.”

Dave shook his head, but Maya saw the corner of his mouth twitch. That was as close to approval as Dave got.

Then he went through the spreadsheet line by line, the way he’d promised. Her wholesale prices were too optimistic. Her waste estimates were too low. Her assumptions about what grows in a Perth winter were wrong in four places. He corrected each one without ceremony, the laptop balanced on a stack of crates. Then he closed it and slid it back across the bench.

“Spreadsheet’s the easy part,” he said. “Here’s the question that matters. Who’s actually going to pay for this, and how do you know?”

“The numbers say…”

“The numbers say what you told them to say. Have you asked anyone? Not Nadia. Not your mates. Someone who’d have to get their wallet out.”

Maya opened her mouth to answer and found she didn’t have one. Three months of modelling costs, and she had never once asked a stranger whether they’d pay.

“That’s what kills the city kids,” Dave said. “Not the farming. The assuming.”

Asking strangers

The next Saturday, Maya went back to the Margaret River market without the spreadsheet. She stood near the Morrisons’ stall with a notebook and did the thing that felt harder than any client presentation she’d ever given: she asked strangers about their vegetables.

Not pitching. Asking. Where do you buy your veg? What annoys you about it? If a box of seasonal produce from farms you could name turned up on your doorstep every Thursday, would you pay for it? How much?

The Saturday after that she did it again at the markets in South Fremantle, closer to the people who’d actually be getting the deliveries. Forty-three conversations across the two weekends, tallied in the notebook. Plenty of polite enthusiasm that evaporated the moment money came up. A man with two kids in the trolley who said the produce wasn’t the problem, the deciding was: “I stand in that aisle at six o’clock and my brain just stops.” A woman who’d tried a meal-kit service and quit because she didn’t want recipes, she wanted ingredients she could trust. Maya wrote no thinking required in block capitals and underlined it twice.

Nineteen of the forty-three said they’d pay. When she pushed (would you sign up this week? can I take your email?), eleven gave her an email address. Eleven wasn’t a business. But it was eleven more than an assumption, and when she rang Dave on the Sunday night to tell him, his pause was shorter than usual.

“Good,” he said. “Now you know something. Go build it.”

Recruiting Tom

Tom Chen was Maya’s oldest friend from UWA. They’d met in a second-year algorithms tutorial. Maya was the only woman in the room and Tom was the only person who talked to her like a normal human being instead of either ignoring her or explaining things she already understood. They’d stayed friends through fifteen years of diverging careers: Maya into consulting, Tom into software development. He was thirty-eight now, married to Sarah, two kids (Ava and Leo), and the kind of programmer who built side projects after bedtime because making things was how he processed the world.

Tom was between jobs. His last company had been acquired by a larger firm, the culture had rotted within six months, and he’d taken voluntary redundancy rather than spend another year in meetings about meetings. He was interviewing at two companies and felt lukewarm about both.

Maya bought him coffee at a cafe in Leederville and pitched.

Tom listened with the particular attentiveness of someone who builds systems for a living. He asked good questions. How many farms? What’s the delivery radius? How do you handle seasonal variation? What’s the tech stack?

Maya answered what she could and was honest about what she couldn’t. “I don’t have all the answers. I’ve got a spreadsheet, a farming contact who hasn’t said no yet, eleven email addresses from strangers who want this to exist, and an idea that I can’t stop thinking about.”

Tom stirred his coffee. “You know the success rate for food startups?”

“I know it’s terrible.”

“And you want me to leave a stable job market for this?”

“You don’t have a stable job. You have two interviews you described as, what was the word, ‘uninspiring.’”

Tom laughed. It was the first genuine laugh Maya had seen from him in months. “When do you need an answer?”

“Yesterday.”

He looked at his coffee. Then at Maya. Then at something in the middle distance that might have been the future or might have been the memory of all those side projects he’d built because the work that paid him wasn’t the work that interested him.

“Yeah, all right. I’m in.” He put the cup down. “One condition. Six months. If we’re not shipping boxes to real people by then, I take the boring job. I promised Sarah a number. That’s the number.”

“Six months,” Maya said. “Deal.”

Sam

Sam Okafor was Maya’s cousin on her mother’s side; her mother’s sister had married a Nigerian engineer who’d moved to Perth in the nineties. Sam had grown up in Baldivis, studied business, and spent six years running logistics for a trucking company in Kewdale. She knew supply chains the way Tom knew code: from the inside, with the kind of practical knowledge that doesn’t come from textbooks.

Sam was twenty-nine, competent, restless, and thoroughly bored. The trucking company moved the same cargo along the same routes on the same schedule, and the only variation was which driver called in sick. She’d been talking about leaving for a year. When Maya called, Sam didn’t need the full pitch.

“What’s the job?”

“Everything that isn’t code or farming. Marketing. Operations. Customer support. Logistics.”

“That’s four jobs.”

“It’s a startup. Everything is four jobs.”

Sam was quiet for a moment. “What’s the pay?”

Maya told her. Sam made a sound that was somewhere between a laugh and a cough.

“That’s a 60% pay cut.”

“I know. I’m asking a lot.”

“You’re asking me to give up a salary to pack vegetables in your living room.”

“I’m asking you to help me build something that matters. The salary comes later. If it works.”

Sam thought about the trucking company. The same routes. The same cargo. The same conversations in the same break room. She thought about the spreadsheet Maya had shown her over family dinner last month: the one with the revenue projections and the subscriber targets and the note at the bottom that said Break-even: Month 14 (optimistic).

“When do I start?”

“Monday.”

The living room

They started on a Monday in February. Three people, three laptops, Maya’s living room in Fremantle. The coffee table was their desk. The whiteboard was a sheet of butcher’s paper taped to the wall behind the couch. Nadia, who worked as a physiotherapist and kept sensible hours, came home that first evening to find her living room converted into an office.

“How long is this going to last?” she asked, stepping over a power cable.

“Not long. We’ll get an office soon.”

Nadia looked at the three people hunched over laptops on her couch. “Define ‘soon.’”

“A few weeks?”

It was six weeks. Nadia never complained, though she did start leaving passive-aggressive notes on the fridge about the milk disappearing faster than usual. She also started making extra coffee in the mornings, enough for four, without being asked. That was Nadia. She expressed love in practical gestures and expected Maya to understand what they meant.

The first week was all planning. Maya laid out the business model on the butcher’s paper in her neat handwriting (the same handwriting from the market flyer): farms commit weekly availability, customers subscribe to a box size, Greenbox matches supply to demand, packs the boxes, and delivers. Revenue comes from the subscription margin: the difference between what they pay the farms and what the customer pays. Simple, she said. Straightforward.

Tom and Sam looked at each other. They’d both been around long enough to know that “simple” and “straightforward” were the words people used right before discovering that something was neither.

Tom listened and started sketching a data model on the butcher’s paper. Subscription. Customer. Farm. Produce. Order. Box. The entities came easily. The relationships between them were where the complexity lived.

Sam started on logistics. Delivery routes. Courier options. Packing materials. Cold chain timing: how long could produce sit in a box before it deteriorated? She called four courier companies and got quotes that ranged from expensive to absurd. One of them wanted a minimum of two hundred deliveries per week. Sam explained they’d be starting with about twenty. The line went quiet, then polite. She started a spreadsheet that would, over the next year, become the operational backbone of the company. It had twelve tabs by Friday.

Maya called Dave. “We’re starting.”

“Starting what?”

“Building it. The app, the website, the operations. All of it.”

A pause. “You haven’t got any customers yet.”

“We will.”

“Lot of confidence for someone with three laptops and no office.”

“We’ve got a living room. It’s practically the same thing.”

Dave’s silence was eloquent. Then: “I’ll have some produce ready when you need it. Don’t make me regret it.”

Maya put the phone on the kitchen counter and looked at Tom and Sam. “He’s in.”

“That didn’t sound like ‘in,’” Tom said.

“For Dave, that was a standing ovation.”

By Friday of the first week, Tom had a rough architecture sketched out. A web app for customer subscriptions. A portal for farms to submit their weekly availability. A matching engine to connect supply to demand. A basic admin panel for Maya to manage everything else. He’d been researching LLM-assisted development. The new code generation tools were getting impressive reviews, and he was itching to try them on a real project.

“I reckon I can have a working prototype in two weeks,” he said.

Sam raised her eyebrows. “Two weeks?”

“The code generation tools are incredible. You describe what you want and they build it. I saw a demo where a guy built a full e-commerce site in an afternoon.”

Maya looked at the butcher’s paper covered in entity relationships and arrows and questions. “That sounds fast.”

“That’s the point.”

The following Monday, Tom opened his laptop, fired up Claude in one browser tab and his IDE in the other, and started building.

What followed was the most productive month of Tom’s career, and it nearly broke the company.

These posts are LLM-aided. Backbone, original writing, and structure by Craig. Research and editing by Craig + LLM. Proof-reading by Craig.