Clear Measure used Blazor to help ShoWorks host live auctions
Customer
ShoWorks
Products & services
Blazor
Azure
SignalR
Azure DevOps
Visual Studio
Industry
Software & Consultancy
Scenario
Conducting Live Events Virtually
Organization Size
Small (1-100 employees)
Country/region
United States
Problem
Expand existing SAAS platform to provide virtual auction hosting for livestock and other fair auctions that were unable to be in-person due to COVID-19.
Solution
Utilize a test-driven development approach to implement a bus pattern to send commands and query objects from Blazor components. This allowed for effective, real-time selling and bidding processes to occur entirely or partially virtually. By implementing Blazor, ShoWorks Auction has met the short-term need for non-present bidding enabling auctions to continue even stronger after the COVID-19 pandemic.
Implementation Time
5 weeks
ShoWorks is the most popular exhibitor and entries management software used by state and county fairs in North America. ShoWorks simplifies processing registration, judging, premium payouts, and auctions for all types of fair entries including creative & home arts, media, livestock, and more. For over 20 years, ShoWorks has reliably served the needs of entry offices and exhibitors both online and on fairgrounds across the United States and Canada.
Business problem
In March 2020, fairs across North America experienced interruptions due to COVID-19. This jeopardized the business of thousands of exhibitors who had already purchased livestock to raise and sell at their local auctions. Auctions are historically the best way for exhibitors to recuperate their costs and earn extra money to purchase future animals and invest in their future education. ShoWorks needed to develop an online auction solution that seamlessly integrated with the entry and back-office capabilities they already had in place. The solution needed to go-live quickly, in only a few of weeks. Working with Clear Measure architects, they used .NET and Blazor Server to quickly build out a go-live solution soon after identifying the need.
Why Blazor?
The ShoWorks team considered various modern development technologies for this project. The ShoWorks platform has used Microsoft development technologies for decades, so it was natural to evaluate Microsoft technologies for the new auction system. The solution needed to be responsive and accessible to both desktop and mobile devices. The system would also need to support transactional and batch processing. The team preferred to use a consistent programming language and set of libraries so that the same group of developers could build and maintain all components of the system. They considered SPA technologies like Angular and React.
The ShoWorks team chose Blazor because they needed an extremely fast time-to-market in order to address the auction environment created by Covid-19. While Blazor was relatively new when the project started, the team researched the roadmap including the planned future support of Blazor on desktop operating systems as well as mobile. The current team was skilled in HTML, CSS, C#, and JavaScript. While doing some front-end components in JavaScript would have been feasible, choosing .NET and Blazor for the front ends enabled the number of languages used to be consolidated. This choice has proven to be a good one. The system has since been upgraded to .NET 6 and has grown to eleven independent services.
Further, the ShoWorks system resides in Azure, making the tight integration with other .NET technologies and the native experience in Azure a great choice. All-in-all, the system makes use of the following technologies:
- .NET 6
- Blazor Server
- Entity Framework
- SQL Server LocalDB
- Azure SQL DB
- Azure Blog Storage
- Azure Service Bus
- Azure AppService
- Azure Functions
- Azure Logic Apps
- Azure SignalR Service
- Azure Application Insights
We chose Blazor because we needed an extremely fast time-to-market. Because of the tight integration with other .NET technologies and the native experience in Azure, where the full ShoWorks system resides, it was a great choice."
Implementation strategy
ShoWorks created an easily changeable application by implementing a bus pattern and sending commands and query objects from the Blazor components. The application was built using Test-Driven Development, which is another reason for the fast speed to launch. They used Selenium-based tests, which work well with Blazor. By having a comprehensive test strategy, the team reduced the number bugs and was able to focus more time on improving the software. ShoWorks built the public bidding application using Blazor Server but plans to switch to Blazor WebAssembly to transfer the processing and memory consumption to the client device for better cost savings in the future.
The ShoWorks team particularly likes Blazor's ability to integrate with every part of the web ecosystem. They're currently taking advantage of this in two key ways. For one, the team plans to implement a Windows 11 system tray application that utilizing Blazor inside of WebView2. They're taking this capability even further this year as they plan to develop a new county fair smartphone app using the upcoming .NET MAUI release with Blazor.
Implementation results
Blazor allowed ShoWorks to host their first virtual auction in just five weeks. Those weeks consisted of two weeks of planning and architecting, and three weeks of development. The pace of development was faster than any previous web development technology ShoWorks has tried. Additionally, the .NET skillset was perfectly transferable, allowing ShoWorks to implement an amazing number of features in less time than they had imagined.
The real-time nature of an auction event made for an even more interesting challenge. Because Blazor Server is stateful and based on SignalR real-time messaging, ShoWorks has been able to offer virtual and live auction modes where the auctioneer can sell to users and conduct the bidding process in real-time.
The team also loves being able to use C# for every tier of the application instead of having to switch from one type of development environment to another depending on what part of the application they are working on."
Beyond implementation and going forward
By using Blazor, the ShoWorks team only needed to use one language to develop their entire platform, allowing them to save time and utilize the same group of developers to build and maintain all components of the solution.
As a result of their success with Blazor, ShoWorks has hosted more junior livestock show auctions online than any other platform. Since May 2021, ShoWorks' system has processed over $200M worth of bids. ShoWorks Auction has meshed live, in-person auctions with online-enablement, including in-barn digital signage powered by Blazor that displays the current lot, price, winner, and sponsors, all while seamlessly embedding live-stream video.
In tackling the problem brought on by COVID-19, ShoWorks auction was able to develop an auction experience that also remedied pre-COVID issues. In previous years, auctions struggled to draw buyers into the auction barn because of the inflexibility of in-person auctions. Often, buyers would be unable to attend events because they were on vacation, working, or attending other auctions on the same day/time. Thus, ShoWorks solidified itself as a staple for future fairs by offering non-present bidding.
Fairs using the ShoWorks platform claim their clerical time is cut by 90% while raising 20% more funds. Some fairs using ShoWorks reported raising more funds per lot than any previous auction in their history.
Ready to get started?
Our step-by-step tutorial will help you get Blazor running on your computer.