There aren't really many colorful fish that you can put with a betta. They will think that the colorful fish are other bettas and try to attack them. Guppies are definitely not good and tetras are nippers. An oto or two would work. They're not very colorful, but your betta won't attack them and they'll clean your tank for you.
Are you sure you don't want any shrimp or snails? They're really fun. The shrimp come in bright red, bumblebee coloring, etc, etc. And snails have really nice shells too.
But if you want your betta to be happiest, leave him be with no tank mates- they're happiest alone.
I kept a few ghost shrimp at one time, they're not very fussy or expensive. Cherry shrimp are really pretty as well, not very expensive either. It doesn't really matter what kind of shrimp you buy, really.
Keep in mind that some bettas might try to eat your shrimp o.o I put a shrimp in a tank one day, came back a few hours later, and the shrimp was gone. Make sure to get a shrimp that can't fit in your betta's mouth!
Oakly, a four gallon isn't big enough for your betta and fish, but like Betta slave said, shrimps are nice :) Before you get any pretty and relatively expensive shrimp, get 2-4 ghost shrimps and see how they do with your betta
Whoever said it was ok to put a bunch of otos in a 5G with a betta should do a little more research. Otos typically need more space not only because of bioload concerns--although in a 5G tank would also be an issue. Otos are wild caught, and eat exclusively algae, and of that algae, they only eat a few specific kinds. Because they are wild caught, they do not usually eat prepared foods. If your tank cannot grow a reliable amount of algae to sustain these fish, you should not get them. Larger tanks with higher light have a higher growth potential for food for the otos, and more surfaces for algae to grow on.
I agree with most people in this thread, anything less than a ten gallon really isn't big enough for a betta and tankmates other than shrimp and snails.