Bring a large pot of salted water to a boil. Add spaghetti and cook al dente (about 8-10 minutes). Turn off the heat. Do not drain the pasta water; you will use it again.
In a bowl, mix the beaten eggs with parmesan cheese, chipotle powder, paprika, salt, and pepper. Set aside.
In a large skillet over medium heat, cook bacon until crisp. Transfer bacon to a plate lined with paper towels, reserving 1 tablespoon of bacon grease in the pan.
To the skillet with bacon grease, add garlic. Cook for 1 more minute.
Add the cooked bacon back to the skillet.
Remove the skillet from heat. Using tongs, transfer the spaghetti directly from the pot to the skillet with bacon.
Slowly pour in the egg mixture, constantly tossing with tongs. The residual heat from the pasta and pan will create a creamy sauce. If it thickens too much, gradually add reserved pasta water, a little at a time, until smooth and silky. (I used about ½ cup pasta water.)
Garnish with parsley, red pepper flakes, and additional parmesan cheese. Serve immediately.