Click here to Skip to main content
15,435,470 members
Articles / Desktop Programming / WPF
Posted 19 Aug 2013

Tagged as


1 bookmarked

Sell Local - A tool for local farmers

Rate me:
Please Sign up or sign in to vote.
5.00/5 (1 vote)
19 Aug 2013CPOL5 min read
A sales and educational tool for local farmers.

This article is an entry in our AppInnovation Contest. Articles in this sub-section are not required to be full articles so care should be taken when voting.

Contest Information

  • Target Platform - Tablet
  • Category - Retail
  • Overview - A sales and educational tool for local farmers and growers. 
  • Description - See Description section below.
  • Approach Taken - See Approach Taken section below.
  • Coding Language - This is a C# WPF application written in .NET 4.5. Caliburn Micro is used for MVVM help, an API is used for mobile payments, and Windows Azure is used for the back-end data storage and processing.


Technology has largely skipped the local grower/farmer community (hereafter called growers for simplicity). Sell Local attempts to change this by providing a set of tools to the grower. First, it provides the grower with the opportunity to document and display the process by which they grow the food. This feature can be used in the education of the community, whether it is at a special presentation at a school or at a company lunch and learn event. For those growers that have a co-op program or other involvement programs, they can use Sell Local to sign users up right on the device. When it comes time to sell the products, the grower can use the tablet to track inventory, process sales including taking credit cards, and they can even send out announcements right from the device (sales, promotions to liquidate the last of a certain type of inventory, etc.)


Sell Local has the following features:

  • Community Education Tool - Allows the grower to document the process that they go through to develop the products they sell. This can be used to involve the buyer and get them to see their food in a new light.
  • Communication Tool - Allows the grower to capture contact information from buyers and potential buyers for the purpose of letting them know about when crops are available, when sales are going on, and general information about the farm. This will help get people involved in the process of growing their food. It will also keep locally-grown food in the forefront of their minds.
  • Inventory Tracking - Tracks what crops are in stock and how many are available. This helps the grower identify what foods needs to be pushed in order to reduce waste and spoilage.
  • Point of Sale - When the local buyer is making a purchase, the grower can use Sell Local to accept credit cards. The buyer can even sign for their purchase using the pen. The sale will reduce the inventory accordingly. Sell Local will then provide the grower with the option of sending the buyer cooking tips about their purchase. The history of their purchased crops (when they were planted, pictures of the process, etc.) can also be sent to the buyer.
  • Recurring Purchase Tool - The grower can set up a recurring purchase program (usually a box of in-season crops provided once a week) and advertise it on the tablet. Interested individuals can sign up for the program and pay right away or over time. One-time buyers at the farmer's market can also be shown the option to buy a recurring subscription at the time of sale.


The Sell Local application is meant to be used by growers who sell their products locally. The application attempts to do two things at once: make the grower's life easier through automation, organization, and simplification and improve the knowledge and buy-in of the potential buyer through education and awareness.

Approach Taken

To build this application, I first mapped it out. I identified what features I wanted and what technologies I wanted to maximize. I then assembled code bits for each technology. This allowed me to see what was possible. It also allowed me to make sure I could build this application in a reasonable amount of time. Since I have all of the code bits for all of the different items (payment processing, pen capture, touch events, etc.), I just need to put the bits together like Legos and wire them up. Next, I laid out the user interface and got some advice on what would be an appealing and intuitive design. This application targets a typically low-tech group of users, so the interface had to be simple and intuitive while remaining powerful.

I am still in the process of completing this part of the process. I'm talking to local growers to see exactly what they want before I start into building the interface. This is really the last step since all of the code is rather straightforward. I have a couple of design ideas but I'm going to get feedback on them before I proceed with this step.

Technologies Used

I use the following technologies in this application:

  • Touch - The application has been designed to be touched, not just clicked on.
  • Pen - Used to capture the signature of the individual who is purchasing the crops.
  • WIFI - Used to accept the payments and to store data in Windows Azure about mailing lists, etc.
  • Portability - The tablet will be taken to educational events, farmer's markets, and even out in the field to take pictures of the growing process.


Sell Local is the application that local growers need to continue to elevate the knowledge and awareness of the community to their products. It is also the tool they need to reduce waste and broaden their customer base. Basically, local growers have a need and Sell Local fills that need nicely.


This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Written By
Software Developer (Senior) DeGarmo
United States United States
I am currently a Senior Software Developer at a company in Illinois called DeGarmo. My primary skills are in .NET, SQL, JavaScript, and other web technologies although I have worked with PowerShell, C, and Java as well.

In my previous positions, I have worked as a lead developer, professor and IT Director. As such, I have been able to develop software on a number of different types of systems and I have learned how to correctly oversee the overall direction of technology for an organization. I've developed applications for everything from machine automation to complete ERP systems.

I enjoy taking hard subjects and making them easy to understand for people unfamiliar with the topic.

Comments and Discussions

GeneralThanks! Pin
Kevin Priddle21-Aug-13 10:32
professionalKevin Priddle21-Aug-13 10:32 
GeneralMy vote of 5 Pin
DrABELL19-Aug-13 9:37
MemberDrABELL19-Aug-13 9:37 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.