FarmersWeb is a complex commerce marketplace that connects wholesale farms, logistics providers, to busy chefs and other wholesale buyers to facilitate wholesale transactions for local produce, meat, seafood, and other specialty farm products. The ongoing challenge with FarmersWeb is to present a robust, flexible featureset with complex business logic for a variety of demographics that are not typically the most tech-savvy: farmers, busy chefs, and logistics providers. FarmersWeb features a discovery interface based around geographic availability, a complex set of features supports inventory management, invoicing, credit card payments, weekly CSA pickups, date-specific fulfillment, reporting, and accounting across multiple roles and subscription plans.
Sitemaps and Workflows.
With its nuanced workflow and roles including guests, buyers, sellers, logtistics providers, and admins, the FarmersWeb marketplace experience is vastly different for each of those roles. As such, having a detailed understanding of each role and their interactions with complex order objects over requires either an astute memory, an ability to understand feature specs, or, preferably having access to comprehensive documentation that catalogs these states and interactions.
Lightweight Processes for Feature Development.
With the design language and general interaction defined over several years of iteration, the development of new features is agile and focused on generating efficient stakeholder feedback. For example, in order to present Delivery Route Optimization to both internal stakeholders and several trusted customers, lo-fi sketches were produced to quickly generate feedback on the high-level concept:
After sharing the sketches, a quick discussion was facilitated with FigJam to consolidate feedback and solidify the requirements. Several new requirements emerged during this process, as is to be expected.
Given that a majority of the components were already included within the design vernacular and styleguide in the FarmersWeb application, only a small amount of visual design was required. A majority of the challenge came from solving the classic Traveling Salesperson Problem during development. While this was originally implemented in Ruby, it was replaced with the Google Maps API to account for traffic and start times, which would only be feasible with Google’s data. The Delivery Route Optimization feature has been released to production and sign-ups have been brisk. Customer feedback has been overwhelmingly positive regarding the efficencies gained while performing deliveries, especially in unfamiliar areas.