Vegan Menu Design Doc WIP

Posted on July 15, 2018
Updated February 2, 2021

This post details the process behind designing and developing Vegan Menu, a proposed service that helps vegans find vegan food in otherwise invisible places: non-vegan restaurants. All kinds of food providers are creating vegan menu items to cater for this growing market, but have no real way to advertise these meals to vegans specifically. Likewise, vegans have no real way to find a lot of really delicious food. Vegan menu will be a win-win.

Is there a need for such a service? Current vegan food finding solutions enjoy huge success, but focus only on finding vegan restaurants, or restaurants with options. You have no access to what is available in those places, until you click through and explore in more detail. VeganMenu will provide the end goal with far fewer steps, as well as solving the problems of food providers who have no current way to market to vegans.


I asked the Brisbane Vegan Facebook group what they thought about eating in non-veg restaurants, with this survey. 70% of respondents have been vegan for between 2 and ten years, the rest being split between newer and longer term vegans. The key insights were…

Most vegans actively look for vegan food in non-vegan places. A minority will only eat at non-vegan places with friends and family, or extremely rarely. An extreme minority, in the order of 1%, will not eat at non-veg places.

Vegan food is hard to find though outside of exclusively vegan places, with the majority of those who look for vegan food saying it’s hard to find. 10% said it was easy to research and plan vegan food at non-vegan places, and others said they find it by chance, or use an app.

¾ of vegans have ‘no issues’ eating in a non-veg restaurant. However, the next largest group feel uncomfortable (¼), with 6% feeling nervous or gross. We can assume from this that an even larger majority would have no issues were they assured on the integrity of preparation.

Although the majority actively look for vegan food outside of the vegan places, the majority feel that vegan food is better in vegan restaurants. A quarter say vegan food in non-vegan places is mostly really good, with the rest saying that it’s a bit hit and miss, or have been disappointed with the variety of vegan options.

Green light there.

I haven’t been able to get understandably busier small business people to respond to a survey, so some guerrilla research is needed to verify the value proposition, however with the exponential rise of vegan options globally, I do not expect negative results.

Without getting too ahead of ourselves (we are getting ahead of ourselves), we will design a simple app/service that allows users to find vegan food based on their location or a location search, and also to add vegan food that they have found to the database. We will design in some community aspects such as reviewing, rating and commenting. The most difficult part of this is allowing for some community self-moderation for accuracy and appropriateness.

Before we get visual, let’s flesh out the idea.

Let’s start with some stories.

John is visiting his parents in Noosa. He knows a few places to eat, and is aware of some vegan restaurants and cafes. They are however not to his taste, and his parents are unlikely to enjoy the offerings. He is vaguely aware of some vegan offerings in nearby restaurants that his parents frequent, however his memory on this is a bit vague. His parents suggest going out for dinner, and John wishes to find a place with something enjoyable to eat.

John uses Vegan Menu to see all the available vegan dishes in the area tagged “Mains.” He lists the names of the places that have suitable options, and his parents agree a place called Sirocco has some meals they love too.

Susan is bored, having tried just about all the meals available in local vegan restaurants. She has heard of a new service called Vegan Menu and downloads the app to her phone. On opening the app, she is presented with a list of vegan dishes within walking distance or short driving distance which she has never heard of, at restaurants she has never been to. She calls a friend, and they enjoy unique vegan food in an unexpected place.

Susan and her friend talk with the restauranteur about their experience before leaving and agree to return to try a new dish which is about to be added to the menu.

They leave a rating on the dishes after eating, adding a couple of photos of their own to the listing. A couple of days later, Susan’s photo is flagged as better than the original photo for the listing, and Vegan Menu staff review and update the listing with Susan’s photo, helping Susan level up as a Vegan Menu contributor.

When Susan and her friend return to the restaurant to try the new dish, Susan adds it to the Vegan Menu database and again increases her level as a contributor.

Anton is a restauranteur with a pizza shop. He has been doing vegan pizza for a while, adding vegan cheese to existing vegetarian offerings. He has had some success, but it comes in waves and seems to be based on facebook shares in the Brisbane Vegan group. It seems that he has no vegan customers for months and then suddenly his tables are packed with them. He sees the potential in the market, and has been wondering how to have a more steady stream of vegan customers.

He adds his vegan dishes to Vegan Menu, not sure what to expect. Customers start coming to his restaurant for the vegan items, citing Vegan Menu as the source. It’s not the same as a Facebook boom, but it’s a nightly and predictable. Over time, his pizzas get good ratings and reviews, and more customers arrive for them. He decides to add more vegan pizzas and invest in some alternative meat products.

Eventually, Vegan Menu contacts Anton about becoming a sponsor with a branded page on Vegan Menu. This allows him to assure Vegan Menu users of the level of care taken in preparation.

Information Architecture (Content Structure)

Moving on to questions about the app that will facilitate all this. At this stage, we’re just getting things down on paper before we make a first iteration. I believe in frequent iterations, but before each iteration, you solve the problem as best as you can with what you’ve got, and that includes the first iteration. So we’ll ask as answer as many questions as we can think of here!

Underpinning the user experience is the IA, which must support the ways the information will be accessed, by allowing the content and users to interact seamlessly.

At this stage, we have identified

  • Content
    • Items (dishes)
    • Places
  • Users (passive and active)
    • Private (working with the food busiensses)
    • Public (consumers)

What is not initially clear, and has been keeping me up at night, is how an item will be tied to a place. It would make sense that a dish would belong, or be a child of, a restaurant. However if the emphasis of this service is on finding food irregardless of what restaurant it comes from, might it be better to have the item as the top level content strata, and the place as an afterthought, such as a taxonomy filled when adding the listing.

What would be the disadvantages of this?

  • One of the ideas for monetising the service is that private users (businesses) can upgrade their presence with a branded store page. If there was no internal taxonomy for a place, how would the items be displayed together?
  • Is a flatter IA harder to search/access?
  • Presenting item availability based on place limitations such as opening or closing.


  • UX consistency: The tool for selecting the place would look the same, whether or not the an item from that place been added in the past.
  • Places and items are not the same thing, it doesn’t really make sense that they are part of the same tree structure.
  • What users will care about is primarily the item, and incidentally the place. So it does make sense that the place is incidental.
  • A flatter IA,  and probably also then a less complicated interface for users.
  • Items with the same ‘place’ could be displayed together, via a search-like mechanism.
  • Outsourcing item availability information to the place provider, such as Google Places (eg pulling in opening times, linking to website)

As there is no usability requirement for the place to exist as the top-level content strata, and any issues seem to be reasonably circumvent-able, we will assume there will be one taxonomy for food items, with various attributes.

Food item metadata

  • place
  • place type (eg: restaurant/cafe/bar/pitt stop)
  • cuisine (eg: burger/chinese/pizza)
  • meal type (eg: main/entree/desert/snack)
  • photos
  • price

What about the users?

We have identified that users might be private or public, but for the purposes of this app, do we need to stratify them at all? Without the aforementioned sponsorship, will there be an difference in how either will use the app? No. However, with sponsorship, there may be. So it goes to say that a users as a group might have be tiered with metadata, perhaps as

  1. Public / basic
  2. Public / trusted (achieved after leveling up?)
  3. Sponsor level 1
  4. Sponsor level 2
  5. etc

Some of that is jumping ahead – but this metadata on each user will define what they are able to do in the app, and how they will do it.

Fleshing out a Flow

Now we have something to start with, we can get on with working out how the basics of the app will work, before adding some detailed interaction.

Most people who open the app will be looking for nearby food, so the app should show this on opening.

From that first screen, users can also start other crucial paths:

  • They might be planning ahead, so they should also be able to also search for food at other locations.
  • The might have found a new menu item to add, so this should be easy to do with one click.

Based on the above flow, we can start playing with concepts. The style is WIP, and at this stage, not important. All the design decisions are based on a simple colour scheme, and other than that, usability principles.

Note on the interaction: It would be cool if when scrolling down, other UI elements fade or slide out. When scrolling up, they reappear.

The options above are to

  • drill into a nearby menu item
  • enter an alternative location to search food in,
  • switch to “add” mode via the top flip selector.  The option is presented twice in the above screen to ensure it’s easy to find, that might not be necessary on other screens, or even this one. I’ll leave it there for now though. It could be that the bottom “+” button replaces the flip menu at the top.

At this stage, we’re not too sure what navigation we need. I have a pretty strong desire to keep it very simple by planning a shallow but logical decision tree, but as the flow develops, who knows.

In the future, deals and offers would appear on the home screen alongside regular item cards.

I intend that most of the branches will sprout from the menu item screen, from where users will be able to

  • review,
  • rate,
  • flag and
  • add photos.
  • for sponsor businesses, maybe visit a branded page which presents additional information and ties in all the dishes.

Phase 2 – MVP is a service that helps you design and publish an app without code. Instead it makes use of a graphic design interface with modal property editing. There is a learning curve and there are probably downsides but it means something otherwise unachievable is within reach. The benefits are equivalent to Unreal Engine’s blueprint visual scripting, which allowed me to publish a game without a line of code.

I have followed the above so far, making small adjustments according to what is possible in Bubble. Although the app has had a soft launch, the visual design is not that refined. Most effort has gone into the core architecture and basic user experience.

You can currently use the app at although it currently only shows items items within 5 or 20 kilometres of your location.

You can however check out an item page.


While Bubble has for the most part proved intuitive, there have been challenges surrounding geolocation. Google’s Places API has proved to be expensive, with just my own testing of the app within a week or so driving costS above $50. This would not extrapolate well with a large user base.

After an initial Facebook push to the potential user market, it’s been revealed that people are unlikely to adopt the service without a significant established database. The next steps forward would be to consider how to market the service to businesses before marketing to vegans.