An apparatus for dispensing a cosmetic composition, comprising: a cartridge holder configured to hold a plurality of cartridges (120, 302, 304, 520), each containing a different cosmetic composition, each having a Near Field Communication tag that is initialized when the cartridge is filled, wherein the cartridge holder includes booster slots sized to receive cartridges which hold a booster composition and a base slot sized to receive a cartridge that holds a base composition, the base slot being larger than the booster slot since the cartridge for the base composition is set to be larger than the cartridge for the booster composition, the cartridge holder being configured to move the cartridge (120, 302, 304, 520) to a predetermined location; a plunger disposed above the predetermined location and configured to cause the cartridge to dispense the cosmetic composition when the cartridge is moved to the predetermined location; a container receiving area configured to hold an output container beneath the predetermined location; an NFC interface attached to a spring-biased attachment arm so that the NFC interface remains close to either a booster cartridge or a base cartridge that is positioned adjacent to the NFC interface regardless of the size difference of the cartridges, wherein the NFC interface runs the scan on each of the NFC tags of any cartridges inserted into the slots (210, 212), when an access panel of the apparatus is opened and closed, so that the apparatus learns information for each cartridge, including at least one of ingredient id, lot number of ingredient, expiration date and volume; circuitry configured to determine the cosmetic composition in the cartridge holder, control the cartridge holder to move the cartridge to the predetermined location based on the determination, and control the cartridge to dispense the cosmetic composition into the output container; and a mixer configured to hold the output container and subject the output container to a predetermined movement to cause contents of the output container to mix together. a cartridge holder configured to hold a plurality of cartridges (120, 302, 304, 520), each containing a different cosmetic composition, each having a Near Field Communication tag that is initialized when the cartridge is filled, wherein the cartridge holder includes booster slots sized to receive cartridges which hold a booster composition and a base slot sized to receive a cartridge that holds a base composition, the base slot being larger than the booster slot since the cartridge for the base composition is set to be larger than the cartridge for the booster composition, the cartridge holder being configured to move the cartridge (120, 302, 304, 520) to a predetermined location; a plunger disposed above the predetermined location and configured to cause the cartridge to dispense the cosmetic composition when the cartridge is moved to the predetermined location; a container receiving area configured to hold an output container beneath the predetermined location; an NFC interface attached to a spring-biased attachment arm so that the NFC interface remains close to either a booster cartridge or a base cartridge that is positioned adjacent to the NFC interface regardless of the size difference of the cartridges, wherein the NFC interface runs the scan on each of the NFC tags of any cartridges inserted into the slots (210, 212), when an access panel of the apparatus is opened and closed, so that the apparatus learns information for each cartridge, including at least one of ingredient id, lot number of ingredient, expiration date and volume; circuitry configured to determine the cosmetic composition in the cartridge holder, control the cartridge holder to move the cartridge to the predetermined location based on the determination, and control the cartridge to dispense the cosmetic composition into the output container; and a mixer configured to hold the output container and subject the output container to a predetermined movement to cause contents of the output container to mix together.