When Union first landed the Bojangles’ account, we knew one element of the digital platform would test our problem-solving skills: the menu. If you’re from the South, you know Bojangles’ is famous for its chicken and biscuits. All told the menu includes over 30 different entrees, 10 types of side items, 12 drink choices and countless meal, dinner, box and combo combinations. It’s a lot to choose from and even more to content manage.
It wasn’t the number of menu items or even organizing them into categories—we’ve done that before—that proved to be challenging. No, it was the nutritional values (of all things) that would become our nemesis. The nutritional values needed to display accurately for all menu items, including all possible meal, dinner, box and combo combinations. To up the ante even further, it’s common for Bojangles’ to tweak its recipes, thereby changing the nutritional values on a fairly regular basis. The digital platform would require a database and content management strategy that would allow for an easy, scalable approach to the way nutritional values are recorded. Challenge accepted!
Here’s a behind the scenes look at how we accomplished this goal:
We quickly ruled out recording nutritional values for each menu item in the database. Many menu items are offered in various sizes (your standard small, medium and large), so recording the nutritional value per menu item wasn’t an option because each size has varying nutritional value. So plan A was out.
Could we simply record the nutritional value of each size variation when creating those separate records in the database? Well sure, but when Bojangles’ changes a recipe (which they often do), the client would have to update the item’s nutritional value three times instead of once. And the plot thickens.
We finally decided to treat each part of the menu item as a component. So for example, an Egg, Bacon & Cheese Biscuit is made up of four components: a biscuit, two pieces of bacon, an egg and a slice of cheese. When adding the menu item in the content management system, the client would have the ability to assign components to create the item.
For menu items with multiple sizes such as the seasoned fries, this approach allowed us to record the nutritional value per gram of an item as a component. Then, when adding size options to a menu item, the client could simply input how many grams of the component comprise each size option. Lo and behold, our component-based system provided the scalability needed to manage various size options.
But wait, after adding the nutritional value of four components and then assigning those four components to the menu item, wouldn’t this create more work for the client? Well yes, but only in some cases. Keep in mind that the recipes of components can change, affecting the overall nutritional values of menu items. The made-from-scratch biscuit recipe in particular changes fairly often in an effort to continuously improve taste and quality. So under this component-based system, Bojangles’ only has to update the component record once when the biscuit recipe changes. The other 20+ menu items that include the biscuit are then updated automatically.
What may seem like a simple feature to most can require a level of thought and strategy that we bring to all of our projects. As a whole, the database and content management strategy for this project was full of complexities and nuance, but the nutritional values proved to be a far more formidable adversary than we ever expected. Fortunately, our collective brainpower won the day. Nutritional Values: 0, Union: 1.