Shrimp and snails are the only things suited to such a small tank. I own a 2g and a 1.5g that are in serious danger of being thrown away because they are more or less a serious waste of time and money.
If you want a small tank, then the smallest you should shoot for is 5g. You can keep a betta in a 3g but five is better, and even then the most you could add would be shrimp or a snail with him. As for any other type of fish, they all require schools or grow large and such a small tank is incapable of supporting them. Even those little neon tetras need a school of 6+ and tank of at least 15g.
http://www.theaquariumwiki.com/Stocking_a_5_Gallon_Tank
That's a pretty nice guide about stocking a 5g and well basically since the puffer is brackish your only bet is a betta I'm afraid. If you want other fish, then save your cash and get a 20g tank. Then you can stock a school of any of the fish I've seen suggested properly and then some. In addition, a larger tank is easier to maintain as water quality can drop to lethal levels in a matter of a day or even hours in such a tiny tank as a 2g. With a 2g expect frequent water changes every week just to keep it livable which in turn will shock and eventually kill your fish. With a properly stocked and cycled 20g you only need to do a single small water change once a week.