In a medium bowl, whisk eggs with a large pinch of salt until homogenous and no visible egg whites remain. Set aside.
In a medium cast iron or stainless steel skillet, heat oil over medium-high heat until shimmering. Add potatoes, season with salt, and cook, stirring only occasionally, until lighty brown, about 8 minutes. Lower heat to medium, stir in onion, and continue to cook, stirring occasionally to prevent scorching, until the mixture is golden and crisp, about 10 minutes longer. Season with additional salt and pepper to taste and set aside.
In a medium nonstick skillet, melt butter over medium heat until foaming. Add eggs and cook, stirring constantly with a rubber spatula, until eggs have formed curds but are still runny, 1 to 2 minutes. Stir in cheese and continue to cook, stirring constantly, until cheese is melted and eggs are soft and fluffy, about 1 minute longer. Remove from heat.
Working with one just-warmed tortilla at a time, lay tortilla on a work surface. Spread 1 tablespoon sour cream in a thin, even layer on center of tortilla, leaving about 2 inches of border on either side and 3 inches of border above and below. Top with 2 tablespoons guacamole and spread it around on top of the sour cream. Arrange half the bacon on top of the guacamole.
Pile half the potatoes on top of the bacon, followed by half the eggs and cheese. Douse with as much hot sauce as you want.
Fold the tortilla sides in over the filling. Then roll the bottom flap of tortilla up over the filling, holding the sides tight as you roll. Continue rolling until the burrito is sealed. Repeat with remaining tortilla and filling ingredients. Serve right away.