Methods, systems, apparatus and computer-readable mediums, storing sets of instructions, provide for determining at least one
meal combination including receiving, at a
server, information identifying at least one
food item; accessing, from a storage, device, a set of
meal combination rules; applying, at the
server, the accessed set of
meal combination rules to a plurality of food items; determining, at the
server, at least one meal combination including a plurality of food items including the
food item identified by the received information; and transmitting the determined at least one meal combination from the server to a computing device for display. Alternatively, methods, systems, apparatus and computer-readable mediums, storing sets of instructions, provide for generating a
meal plan, including accessing a set of
meal plan rules; applying the set of
meal plan rules to a plurality of food items; determining a plurality of meal combinations, each of the plurality of meal combinations including a plurality of food items, based on the applied set of rules; and transmitting the determined plurality of meal combinations from a server device to a computing device.