Start the rice. In a medium saucepan, combine rice, water or broth, butter or oil, and salt. Bring to a boil, then reduce heat to low, cover, and simmer for 15-18 minutes until water is absorbed and rice is tender. Remove from heat and let stand, covered, for 5 minutes. If using, fluff with a fork and stir in lime juice, zest, and cilantro.
While the rice cooks, prepare the taco meat. Heat a large skillet over medium-high heat. Add the ground beef and break it apart with a wooden spoon. Cook for about 5-7 minutes until no longer pink, stirring occasionally.
Add flavor builders. Add the diced onion to the beef and cook for 2-3 minutes until softened. Add garlic and cook for 30 seconds until fragrant. Drain excess fat if desired (but leaving a little adds flavor).
Season like you mean it. Sprinkle the taco seasoning over the beef mixture and stir to coat evenly. Add 1/4 cup water, stir well, and bring to a simmer. Let it cook for 2-3 minutes until the sauce thickens slightly.
Bulk it up. Add the drained and rinsed beans and corn (if using) to the meat mixture. Stir to combine and cook for another 2 minutes until heated through. Taste and adjust seasonings if needed.
Prepare your toppings. While the meat mixture simmers, get all your toppings ready and arranged for easy bowl assembly.
Build your bowls. Start with a base of rice in each bowl. Top with a generous portion of the taco meat mixture. Let everyone add their preferred toppings.
Finish with flair. A squeeze of fresh lime juice over the top brightens all the flavors and pulls everything together.