Wash the baby potatoes thoroughly to remove any dirt, then place them in a large pot and cover with water. Add a pinch of salt.
Bring the pot to a boil over medium-high heat. Once boiling, reduce the heat to medium and cook the potatoes for about 15-20 minutes, or until they are fork-tender.
Drain the potatoes in a colander and let them cool for a few minutes. Once cool enough to handle, cut the potatoes into quarters or halves, depending on their size.
In a mixing bowl, combine the mayonnaise, Dijon mustard, apple cider vinegar, salt, and black pepper. Whisk until smooth and well combined.
Add the chopped dill, red onion, celery, and chopped hard-boiled eggs (if using) to the mixing bowl. Stir to combine.
Gently fold the cooled potatoes into the dressing mixture until they are well coated, being careful not to mash the potatoes.
Cover the salad and refrigerate it for at least 30 minutes to allow the flavors to meld. Serve chilled.