Shred the potatoes using the large holed side of a box grater. Thoroughly rinse the shreds in a colander, and drain them well. Fold the potatoes into a clean kitchen towel, and then squeeze out as much moisture as you can. This removes the surface starch from the potato shreds and help them become crisp and not gummy when cooked.
Heat the oil in a large, heavy skillet, over medium heat. Add the onions and pepper and cook until just starting to soften, around 3 minutes.
Mix the potatoes and protein together. Add the mixture to the hot pan. Spread them in an even layer, and press lightly with a spatula. You want them around 1/2 deep or less.
Without stirring, cook the hash for around 8 minutes until the bottom is looking golden and crispy.
Divide the hash into 4 parts and flip each quarter over. With a spoon, press an indent into the center of each section of hash. Crack 1 egg into each spot, and scatter cheese across the top. Season with salt and pepper to taste.
Cook for another 5 minutes. If the eggs are not done enough for your taste, place the pan under the broiler for a minute or two.
Serve hot.