Preheat the oven to 350 degrees F. Lightly grease a 9X13-inch baking pan. Set aside.
In a large skillet over medium heat, cook the bacon or sausage and onion until cooked through and crisp (for the bacon). Drain excess grease.
In a large bowl, combine the eggs, hash browns, hot sauce (if using), salt, pepper, cottage cheese, sour cream, and cheese. Add the bacon (or sausage) and onions. Mix to combine.
Spread the mixture evenly in the prepared pan (at this point the casserole can be covered and refrigerated overnight).
Bake for 40-45 minutes until lightly golden on the edges, puffy in the center, and a thin knife comes out clean from the center (add 10-15 minutes to the baking time if the casserole has been refrigerated).
Garnish with chopped green onions or chives. Let the casserole rest for 5-10 minutes before cutting into squares and serving.
Notes
Meat: you can nix the bacon or sausage and use chopped ham, if you'd like. If doing so, saute the onion in a skillet with a little oil and then add the cooked onion and chopped ham (no need to cook) to the other ingredients. Eggs: the eggs can be increased if you want it a little more egg-heavy. I'd suggest not adding more than 11-12 eggs.Pepper: I also think chopped green pepper would be delicious in here (but I have kids that would revolt); I'd add it to the skillet with the onion if it were me. Add more cheese if you like (no judging here!). Hash Browns: I'm super lazy when it comes to thawing the hash browns for this recipe, which is a roundabout way to say I never do. The recipe will work with either thawed or frozen hash browns; if using thawed, you can probably cut the baking time down by 10 minutes or so. If your hash browns have added salt, you may want to reduce the salt.