A method for grinding and tamping coffee grinds, the method comprising the steps of: activating an auger motor using a processor; receiving feedback at the processor to indicate whether or not a portafilter receiving the coffee grinds has been completely filled; determining, using the processor, whether the portafilter is filled, and if the portafilter is determined to be filled: deactivating the auger motor and providing an indication to a user that a grinding and tamping cycle has completed; if the portafilter is determined not filled, the method comprises the following sequential steps: (a) activating a coffee grinder and operating the auger motor in a first direction for a short duration being a first interval; (b) maintaining activation of the coffee grinder and operating the auger motor in the first direction at a slower speed for a short duration; (c) maintaining activation of the coffee grinder and operating the auger motor in an opposite direction to the first direction for a second interval; (d) stopping the coffee grinder and operating the auger motor in the opposite direction to the first direction for a third interval for providing a flat surface on the coffee grinds in the portafilter if the portafilter is filled; (e) determining, using the processor, whether the portafilter is filled, and if the portafilter is determined not filled returning to step (a), and if the portafilter is determined filled: (f) deactivating the coffee grinder and the auger motor and providing an indication to a user that a grinding and tamping cycle has completed. activating an auger motor using a processor; receiving feedback at the processor to indicate whether or not a portafilter receiving the coffee grinds has been completely filled; determining, using the processor, whether the portafilter is filled, and if the portafilter is determined to be filled: deactivating the auger motor and providing an indication to a user that a grinding and tamping cycle has completed; if the portafilter is determined not filled, the method comprises the following sequential steps: (a) activating a coffee grinder and operating the auger motor in a first direction for a short duration being a first interval; (b) maintaining activation of the coffee grinder and operating the auger motor in the first direction at a slower speed for a short duration; (c) maintaining activation of the coffee grinder and operating the auger motor in an opposite direction to the first direction for a second interval; (d) stopping the coffee grinder and operating the auger motor in the opposite direction to the first direction for a third interval for providing a flat surface on the coffee grinds in the portafilter if the portafilter is filled; (e) determining, using the processor, whether the portafilter is filled, and if the portafilter is determined not filled returning to step (a), and if the portafilter is determined filled: (f) deactivating the coffee grinder and the auger motor and providing an indication to a user that a grinding and tamping cycle has completed. (a) activating a coffee grinder and operating the auger motor in a first direction for a short duration being a first interval; (b) maintaining activation of the coffee grinder and operating the auger motor in the first direction at a slower speed for a short duration; (c) maintaining activation of the coffee grinder and operating the auger motor in an opposite direction to the first direction for a second interval; (d) stopping the coffee grinder and operating the auger motor in the opposite direction to the first direction for a third interval for providing a flat surface on the coffee grinds in the portafilter if the portafilter is filled; (e) determining, using the processor, whether the portafilter is filled, and if the portafilter is determined not filled returning to step (a), and if the portafilter is determined filled: (f) deactivating the coffee grinder and the auger motor and providing an indication to a user that a grinding and tamping cycle has completed.